Software Complexity

2021 ◽  
pp. 353-372
Author(s):  
Paul C. Jorgensen ◽  
Byron DeVries
Keyword(s):  
Author(s):  
Daniel Vedder ◽  
Markus Ankenbrand ◽  
Juliano Sarmento Cabral

2008 ◽  
Vol 16 (4) ◽  
pp. 315-327 ◽  
Author(s):  
Benjamin A. Allan ◽  
Boyana Norris ◽  
Wael R. Elwasif ◽  
Robert C. Armstrong

In high-performance scientific software development, the emphasis is often on short time to first solution. Even when the development of new components mostly reuses existing components or libraries and only small amounts of new code must be created, dealing with the component glue code and software build processes to obtain complete applications is still tedious and error-prone. Component-based software meant to reduce complexity at the application level increases complexity to the extent that the user must learn and remember the interfaces and conventions of the component model itself. To address these needs, we introduce Bocca, the first tool to enable application developers to perform rapid component prototyping while maintaining robust software-engineering practices suitable to HPC environments. Bocca provides project management and a comprehensive build environment for creating and managing applications composed of Common Component Architecture components. Of critical importance for high-performance computing (HPC) applications, Bocca is designed to operate in a language-agnostic way, simultaneously handling components written in any of the languages commonly used in scientific applications: C, C++, Fortran, Python and Java. Bocca automates the tasks related to the component glue code, freeing the user to focus on the scientific aspects of the application. Bocca embraces the philosophy pioneered by Ruby on Rails for web applications: start with something that works, and evolve it to the user's purpose.


2010 ◽  
Vol 7 (4) ◽  
pp. 769-787 ◽  
Author(s):  
Robertas Damasevicius ◽  
Vytautas Stuikys

The concept of complexity is used in many areas of computer science and software engineering. Software complexity metrics can be used to evaluate and compare quality of software development and maintenance processes and their products. Complexity management and measurement is especially important in novel programming technologies and paradigms, such as aspect-oriented programming, generative programming, and metaprogramming, where complex multilanguage and multi-aspect program specifications are developed and used. This paper analyzes complexity management and measurement techniques, and proposes five complexity metrics (Relative Kolmogorov Complexity, Metalanguage Richness, Cyclomatic Complexity, Normalized Difficulty, Cognitive Difficulty) for measuring complexity of metaprograms at information, metalanguage, graph, algorithm, and cognitive dimensions.


Author(s):  
Mohammed A. Shehab ◽  
Yahya M. Tashtoush ◽  
Wegdan A. Hussien ◽  
Mohammed N. Alandoli ◽  
Yaser Jararweh

2021 ◽  
Vol 2066 (1) ◽  
pp. 012014
Author(s):  
Xiaobin Hong

Abstract With the development of the times, computer technology is booming, so the network is becoming more and more complex, software design is becoming more and more complex, because of the protection against a variety of internal or external risks. The internal risk is that the traffic carried by the system is too large to cause the system to crash or the system to crash caused by the code operation error, and the external threat is that hackers use computer technology to break into the system according to security vulnerabilities, so the purpose of this paper is based on big data technology, the software complexity of complex networks is measured and studied. With the consent of the school, we used the school’s internal network data, and after consulting the literature on the complex construction and analysis of complex networks and software, modeled and analyzed it using the improved particle group algorithm. The experimental results show that there is a certain correlation between complex network and software complexity. Because complex networks determine that software requires complex construction to withstand potential risks to keep the software running properly.


2019 ◽  
Author(s):  
Sabina-Cristiana NECULA ◽  
Cătălin STRÎMBEI

Sign in / Sign up

Export Citation Format

Share Document