Software protection technology has been universally emphasized, with the development of reverse engineering and static analysis techniques. So, it is important to research how to quantitatively evaluate the security o...Software protection technology has been universally emphasized, with the development of reverse engineering and static analysis techniques. So, it is important to research how to quantitatively evaluate the security of the protected software. However, there are some researchers evaluating the security of the proposed protect techniques directly by the traditional complexity metrics, which is not suffident. In order to better reflect security from software complexity, a multi-factor complexity metric based on control flow graph (CFG) is proposed, and the corresponding calculating procedures are presented in detail. Moreover, complexity density models are constructed to indicate the strength of software resisting reverse engineering and code analysis. Instance analysis shows that the proposed method is simple and practical, and can more objectively reflect software security from the perspective of the complexity.展开更多
Along with the further development of science and technology, computer hardware and the Intemet are in a rapid development, and information technology has been widely used in all fields so that complex problems are si...Along with the further development of science and technology, computer hardware and the Intemet are in a rapid development, and information technology has been widely used in all fields so that complex problems are simply solved. Because of the needs for the development, software starts to mutually integrate with complex power network, making the scale of software increase greatly. Such a growing trend of software promotes soft-ware development to go beyond a general understanding and control and thus a complex system is formed. It is necessary to strengthen the research of complex network theory, and this is a new way to help people study the complexity of software systems. In this paper, the development course of complex dynamic network is introduced simply and the use of complex power network in the software engineering is summarized. Hopefully, this paper can help the crossover study of complex power network and software engineering in the future.展开更多
The agility of Internet of Things(IoT)software engineering is benchmarked based on its systematic insights for wide application support infrastructure developments.Such developments are focused on reducing the interfa...The agility of Internet of Things(IoT)software engineering is benchmarked based on its systematic insights for wide application support infrastructure developments.Such developments are focused on reducing the interfacing complexity with heterogeneous devices through applications.To handle the interfacing complexity problem,this article introduces a Semantic Interfacing Obscuration Model(SIOM)for IoT software-engineered platforms.The interfacing obscuration between heterogeneous devices and application interfaces from the testing to real-time validations is accounted for in this model.Based on the level of obscuration between the infrastructure hardware to the end-user software,the modifications through device replacement,capacity amendments,or interface bug fixes are performed.These modifications are based on the level of semantic obscurations observed during the application service intervals.The obscuration level is determined using knowledge learning as a progression from hardware to software semantics.The results reported were computed using specific metrics obtained from these experimental evaluations:an 8.94%reduction in interfacing complexity and a 15.04%improvement in integration progression.The knowledge of obscurationsmaps themodifications appropriately to reinstate the agility testing of the hardware/software integrations.This modification-based semantics is verified using semantics error,modification time,and complexity.展开更多
This paper develops an improved structural software complexity metrics named information flow complexity which is closely related to the reliability of software. Together with the three software complexity metrics, th...This paper develops an improved structural software complexity metrics named information flow complexity which is closely related to the reliability of software. Together with the three software complexity metrics, the total software complexity is measured and some rules to reduce the complexity are presented in the paper. To illustrate and explain the process of measurement and reduction of software complexity, several examples and experiments are given. It is proposed that software complexity metrics can be measured earlier in software development and can provide substantial information of software systems whose reliabil- ity can be modeled and used in the determination of initial parameter estimation.展开更多
Software systems play increasing important roles in modern society,and the ability against attacks is of great practical importance to crucial software systems,resulting in that the structure and robustness of softwar...Software systems play increasing important roles in modern society,and the ability against attacks is of great practical importance to crucial software systems,resulting in that the structure and robustness of software systems have attracted a tremendous amount of interest in recent years.In this paper,based on the source code of Tar and MySQL,we propose an approach to generate coupled software networks and construct three kinds of directed software networks:The function call network,the weakly coupled network and the strongly coupled network.The structural properties of these complex networks are extensively investigated.It is found that the average influence and the average dependence for all functions are the same.Moreover,eight attacking strategies and two robustness indicators(the weakly connected indicator and the strongly connected indicator)are introduced to analyze the robustness of software networks.This shows that the strongly coupled network is just a weakly connected network rather than a strongly connected one.For MySQL,high in-degree strategy outperforms other attacking strategies when the weakly connected indicator is used.On the other hand,high out-degree strategy is a good choice when the strongly connected indicator is adopted.This work will highlight a better understanding of the structure and robustness of software networks.展开更多
An intrinsic property of software in a real-world environment is its need to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality, making software maintenan...An intrinsic property of software in a real-world environment is its need to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality, making software maintenance a tough problem. Refactoring is regarded as an effective way to address this problem. Many refactoring approaches at the method and class level have been proposed. But the research on software refactoring at the package level is very little. This paper presents a novel approach to refactor the package structures of object oriented software. It uses software networks to represent classes and their dependencies. It proposes a constrained community detection algorithm to obtain the optimized community structures in software networks, which also correspond to the optimized package structures. And it finally provides a list of classes as refactoring candidates by comparing the optimized package structures with the real package structures. The empirical evaluation of the proposed approach has been performed in two open source Java projects, and the benefits of our approach are illustrated in comparison with the other three approaches.展开更多
Project management is a well understood management method, widely adopted today, in order to give predictable results to complex problems. However, quite often projects fail to satisfy their initial objectives. This i...Project management is a well understood management method, widely adopted today, in order to give predictable results to complex problems. However, quite often projects fail to satisfy their initial objectives. This is why studying the factors that affect the complexity of projects is quite important. In this paper, we will present the complexity factors that are related to project time, cost and quality management and then we will apply them to a number of selected projects, in order to compare the acquired results. The projects have been chosen in a way that results can be easily compared.展开更多
A desirable software engineering goal is the prediction of software module complexity (a qualitative concept) using automatically generated software metrics (quantitative measurements). This goal may be couched in the...A desirable software engineering goal is the prediction of software module complexity (a qualitative concept) using automatically generated software metrics (quantitative measurements). This goal may be couched in the language of pattern classification;namely, given a set of metrics (a pattern) for a software module, predict the class (level of complexity) to which the module belongs. To find this mapping from metrics to complexity, we present a classification strategy, stochastic metric selection, to determine the subset of software metrics that yields the greatest predictive power with respect to module complexity. We demonstrate the effectiveness of this strategy by empirically evaluating it using a publicly available dataset of metrics compiled from a medical imaging system and comparing the prediction results against several classification system benchmarks.展开更多
This article proposes a pragmatic approach to software composition based on matching criteria by mimicking integrated hardware counterpart. The tangible value of consumer goods as described by Cox instills this logica...This article proposes a pragmatic approach to software composition based on matching criteria by mimicking integrated hardware counterpart. The tangible value of consumer goods as described by Cox instills this logical derivation of the proposed approach. As software gradually matures in component form, various software compositions can be systematically assembled from related existing software. Two application software are composed based on their functionality matching. Their composition complexities are measured by function point. The total effort unveils a noteworthy finding that high complexity software demands larger effort to deploy. Thus, the proposed software composition framework not only offers the freedom of development mandates to the development team, but also broadens the horizon of cost and project evaluations by arriving at the proper mix of constituent components in the software product.展开更多
Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the e...Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the effectiveness and efficiency of this effort thus becomes more and more important. Identifying problematic code areas which are most likely to fail and therefore require most of the quality assurance attention is required. This article presents an exploratory study investigating whether the faults detected by static analysis tools combined with code complexity metrics can be used as software quality indicators and to build pre-release fault prediction models. The combination of code complexity metrics with static analysis fault density was used to predict the pre-release fault density with an accuracy of 78.3%. This combination was also used to separate high and low quality components with a classification accuracy of 79%.展开更多
The paper shows a proposition of metrics for measuring the complexity of the business organization and business software. The metrics is based on a subjective estimation of complexity of the elements from a part of th...The paper shows a proposition of metrics for measuring the complexity of the business organization and business software. The metrics is based on a subjective estimation of complexity of the elements from a part of the structure of business organization or business software in relation to other elements from the observed part. Estimation is performed based on the measuring scale for comparison of complexity of elements, and reaching a final conclusion on the complexity of elements in relation to other elements, through the Analytic Hierarchy Process (AHP). Defined in this manner, the metrics represents a unique metrics for measuring the complexity of elements of business organization and business software, which enables their comparison. The paper also presents a short overview of existing metrics for measuring the complexity of business organization and business software.展开更多
The complexity of software system has been increasing with software evolution, which affects the stability of software structure. Most of the existing measurement methods focus on the analysis of the macro-characteris...The complexity of software system has been increasing with software evolution, which affects the stability of software structure. Most of the existing measurement methods focus on the analysis of the macro-characteristics of the network topology, but lacked a certain depth and expansion to explore the nature of the complexity of the software structure, for this purpose, the complex network control theory was applied to the study of software network controllability. Firstly, the Source-Driver (SD) model was established based on the system control theory, the driver node sets were obtained by the minimum input theorem in the control process of software network topology;Then the relationship between the degree and center degree, the relationship between the in-degree and the out-degree of the software network topology were further analyzed owing to the non-uniqueness of the driver node sets;Finally, the values of the four indicators in the software system were compared. Experimental results show that the driver node sets in the software networks are mainly composed of nodes with low degree values, but it does not mean that the nodes whose in-degree values and out-degree values are also low;The action on control nodes and driver nodes are not random, the controllability of the driver nodes is closely related to the in-degree, when selecting the driver node sets, the network topology characteristics should be considered comprehensively, and the nodes with high degree and center degree are the first choice. The results have important guiding significance for the control, maintenance and redesign of software architecture.展开更多
The developed auxiliary software serves to simplify, standardize and facilitate the software loading of the structural organization of a complex technological system, as well as its further manipulation within the pro...The developed auxiliary software serves to simplify, standardize and facilitate the software loading of the structural organization of a complex technological system, as well as its further manipulation within the process of solving the considered technological system. Its help can be especially useful in the case of a complex structural organization of a technological system with a large number of different functional elements grouped into several technological subsystems. This paper presents the results of its application for a special complex technological system related to the reference steam block for the combined production of heat and electricity.展开更多
Software module clustering problem is an important and challenging problem in software reverse engineering whose main goal is to obtain a good modular structure of the software system. The large complex software syste...Software module clustering problem is an important and challenging problem in software reverse engineering whose main goal is to obtain a good modular structure of the software system. The large complex software system can be divided into some subsystems that are easy to understand and maintain through the software module clustering. Aiming at solving the problem of slow convergence speed, the poor clustering result, and the complex algorithm, a software module clustering algorithm using probability selection is proposed. Firstly, we convert the software system into complex network diagram, and then we use the operation of merger, adjustment and optimization to get the software module clustering scheme. To evaluate the effectiveness of the algorithm, a set of experiments was performed on 5 real-world module clustering problems. The comparison of the experimental results proves the simplicity of the algorithm as well as the low time complexity and fast convergence speed. This algorithm provides a simple and effective engineering method for software module clustering problem.展开更多
In order to evaluate the structural complexity of class diagrams systematically and deeply, a new guiding framework of structural complexity is presented. An index system of structural complexity for class diagrams is...In order to evaluate the structural complexity of class diagrams systematically and deeply, a new guiding framework of structural complexity is presented. An index system of structural complexity for class diagrams is given. This article discusses the formal description of class diagrams, and presents the method of formally structural complexity metrics for class diagrams from associations, dependencies, aggregations, generalizations and so on. An applicable example proves the feasibility of the presented method.展开更多
Researchers have often commented on the high correlation between McCabe’s Cyclomatic Complexity (CC) and lines of code (LOC). Many have believed this correlation high enough to justify adjusting CC by LOC or even sub...Researchers have often commented on the high correlation between McCabe’s Cyclomatic Complexity (CC) and lines of code (LOC). Many have believed this correlation high enough to justify adjusting CC by LOC or even substituting LOC for CC. However, from an empirical standpoint the relationship of CC to LOC is still an open one. We undertake the largest statistical study of this relationship to date. Employing modern regression techniques, we find the linearity of this relationship has been severely underestimated, so much so that CC can be said to have absolutely no explana-tory power of its own. This research presents evidence that LOC and CC have a stable practically perfect linear rela-tionship that holds across programmers, languages, code paradigms (procedural versus object-oriented), and software processes. Linear models are developed relating LOC and CC. These models are verified against over 1.2 million randomly selected source files from the SourceForge code repository. These files represent software projects from three target languages (C, C++, and Java) and a variety of programmer experience levels, software architectures, and de-velopment methodologies. The models developed are found to successfully predict roughly 90% of CC’s variance by LOC alone. This suggest not only that the linear relationship between LOC and CC is stable, but the aspects of code complexity that CC measures, such as the size of the test case space, grow linearly with source code size across lan-guages and programming paradigms.展开更多
In spite of the impending flattening of Moore’s law,the complexity and size of the systems we are interested in keep on increasing.This challenges the computer simulation tools due to the expensive computational cost...In spite of the impending flattening of Moore’s law,the complexity and size of the systems we are interested in keep on increasing.This challenges the computer simulation tools due to the expensive computational cost.Fortunately,advanced theoretical methods can be considered as alternatives to accurately and efficiently capture the structural and thermodynamic properties of complex inhomogeneous fluids.In the last decades,classical density functional theory(cDFT)has proven to be a sophisticated,robust,and efficient approach for studying complex inhomogeneous fluids.In this work,we present a pedagogical introduction to a broadly accessible open-source density functional theory software package named"an advanced theoretical tool for inhomogeneous fluids"(Atif)and of the underlying theory.To demonstrate Atif,we take three cases as examples using a typical laptop computer:(i)electric double-layer of asymmetric electrolytes;(ii)adsorptions of sequencedefined semiflexible polyelectrolytes on an oppositely charged surface;and(iii)interactions between surfaces mediated by polyelectrolytes.We believe that this pedagogical introduction will lower the barrier to entry to the use of Atif by experimental as well as theoretical groups.A companion website,which provides all of the relevant sources including codes and examples,is attached.展开更多
Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also pr...Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also provided. The find-ings of research, including propositions of complexity of software process, the work program of complexity of software process improvement, software enterprise model and software production support structure are clarified. Finally, the demonstration, including mindbugs (cognitive barriers) in software process and the knowledge integration support structure of quality software production, is illustrated with case study. It is concluded that the research is useful for both software production and knowledge economy in the future.展开更多
Following the growing research interests in complex networks, in recent years many researchers treated static structures of software as complex networks and revealed that most of these networks demonstrate small-world...Following the growing research interests in complex networks, in recent years many researchers treated static structures of software as complex networks and revealed that most of these networks demonstrate small-world effect and follow scale-free degree distribution. Different from the perspectives adopted in these works, our previous work proposed software mirror graph to model the dynamic execution processes of software and revealed software mirror graph may also be small world and scale-free. To explain how the software mirror graph evolves into a small world and scale free structure, in this paper we further proposed a mathematical model based on the mechanisms of growth, preferential attachment, and walking. This model captures some of the features of the software mirror graph, and the simulation results show that it can generate a network having similar properties to the software mirror graph. The implications are also discussed in this paper.展开更多
Naturally, like the web, integrated software systems in Internet will have to be distributed and heterogeneous. To im-prove the interoperability of services for SAAS, it is crucial to build requirements semantics that...Naturally, like the web, integrated software systems in Internet will have to be distributed and heterogeneous. To im-prove the interoperability of services for SAAS, it is crucial to build requirements semantics that will cross the entire lifecycle of services especially on requirements stage. In this paper, a requirements semantics interoperability extend-ing approach called Connecting Ontologies (CO) that will act as semantics information carrier designing to facilitate the requirements identification and services composition is proposed. Semantic measurement of Chinese scenario is explored. By adopting the approach, a series of tools support for transport domain are developed and applied based on CO and DPO (Domain Problem Ontology) to enforce requirements engineering of networked software efficiently.展开更多
基金Key Project of the National Eleventh-Five Year Research Program of China(No.2006BAD10A07)
文摘Software protection technology has been universally emphasized, with the development of reverse engineering and static analysis techniques. So, it is important to research how to quantitatively evaluate the security of the protected software. However, there are some researchers evaluating the security of the proposed protect techniques directly by the traditional complexity metrics, which is not suffident. In order to better reflect security from software complexity, a multi-factor complexity metric based on control flow graph (CFG) is proposed, and the corresponding calculating procedures are presented in detail. Moreover, complexity density models are constructed to indicate the strength of software resisting reverse engineering and code analysis. Instance analysis shows that the proposed method is simple and practical, and can more objectively reflect software security from the perspective of the complexity.
文摘Along with the further development of science and technology, computer hardware and the Intemet are in a rapid development, and information technology has been widely used in all fields so that complex problems are simply solved. Because of the needs for the development, software starts to mutually integrate with complex power network, making the scale of software increase greatly. Such a growing trend of software promotes soft-ware development to go beyond a general understanding and control and thus a complex system is formed. It is necessary to strengthen the research of complex network theory, and this is a new way to help people study the complexity of software systems. In this paper, the development course of complex dynamic network is introduced simply and the use of complex power network in the software engineering is summarized. Hopefully, this paper can help the crossover study of complex power network and software engineering in the future.
文摘The agility of Internet of Things(IoT)software engineering is benchmarked based on its systematic insights for wide application support infrastructure developments.Such developments are focused on reducing the interfacing complexity with heterogeneous devices through applications.To handle the interfacing complexity problem,this article introduces a Semantic Interfacing Obscuration Model(SIOM)for IoT software-engineered platforms.The interfacing obscuration between heterogeneous devices and application interfaces from the testing to real-time validations is accounted for in this model.Based on the level of obscuration between the infrastructure hardware to the end-user software,the modifications through device replacement,capacity amendments,or interface bug fixes are performed.These modifications are based on the level of semantic obscurations observed during the application service intervals.The obscuration level is determined using knowledge learning as a progression from hardware to software semantics.The results reported were computed using specific metrics obtained from these experimental evaluations:an 8.94%reduction in interfacing complexity and a 15.04%improvement in integration progression.The knowledge of obscurationsmaps themodifications appropriately to reinstate the agility testing of the hardware/software integrations.This modification-based semantics is verified using semantics error,modification time,and complexity.
基金the National Natural Science Foundation of China (No. 60473033)
文摘This paper develops an improved structural software complexity metrics named information flow complexity which is closely related to the reliability of software. Together with the three software complexity metrics, the total software complexity is measured and some rules to reduce the complexity are presented in the paper. To illustrate and explain the process of measurement and reduction of software complexity, several examples and experiments are given. It is proposed that software complexity metrics can be measured earlier in software development and can provide substantial information of software systems whose reliabil- ity can be modeled and used in the determination of initial parameter estimation.
基金supported by the Beijing Education Commission Science and Technology Project(No.KM201811417005)the National Natural Science Foundation of China(No.62173237)+6 种基金the Aeronautical Science Foundation of China(No.20240055054001)the Open Fund of State Key Laboratory of Satellite Navigation System and Equipment Technology(No.CEPNT2023A01)Joint Fund of Ministry of Natural Resources Key Laboratory of Spatiotemporal Perception and Intelligent Processing(No.232203)the Civil Aviation Flight Technology and Flight Safety Engineering Technology Research Center of Sichuan(No.GY2024-02B)the Applied Basic Research Programs of Liaoning Province(No.2025JH2/101300011)the General Project of Liaoning Provincial Education Department(No.20250054)Research on Safety Intelligent Management Technology and Systems for Mixed Operations of General Aviation Aircraft in Low-Altitude Airspace(No.310125011).
文摘Software systems play increasing important roles in modern society,and the ability against attacks is of great practical importance to crucial software systems,resulting in that the structure and robustness of software systems have attracted a tremendous amount of interest in recent years.In this paper,based on the source code of Tar and MySQL,we propose an approach to generate coupled software networks and construct three kinds of directed software networks:The function call network,the weakly coupled network and the strongly coupled network.The structural properties of these complex networks are extensively investigated.It is found that the average influence and the average dependence for all functions are the same.Moreover,eight attacking strategies and two robustness indicators(the weakly connected indicator and the strongly connected indicator)are introduced to analyze the robustness of software networks.This shows that the strongly coupled network is just a weakly connected network rather than a strongly connected one.For MySQL,high in-degree strategy outperforms other attacking strategies when the weakly connected indicator is used.On the other hand,high out-degree strategy is a good choice when the strongly connected indicator is adopted.This work will highlight a better understanding of the structure and robustness of software networks.
基金supported by National Natural Science Foundation of China(No. 61202048)Zhejiang Provincial Nature Science Foundation of China(No. LQ12F02011)Open Foundation of State Key Laboratory of Software Engineering of Wuhan University of China(No. SKLSE-2012-09-21)
文摘An intrinsic property of software in a real-world environment is its need to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality, making software maintenance a tough problem. Refactoring is regarded as an effective way to address this problem. Many refactoring approaches at the method and class level have been proposed. But the research on software refactoring at the package level is very little. This paper presents a novel approach to refactor the package structures of object oriented software. It uses software networks to represent classes and their dependencies. It proposes a constrained community detection algorithm to obtain the optimized community structures in software networks, which also correspond to the optimized package structures. And it finally provides a list of classes as refactoring candidates by comparing the optimized package structures with the real package structures. The empirical evaluation of the proposed approach has been performed in two open source Java projects, and the benefits of our approach are illustrated in comparison with the other three approaches.
文摘Project management is a well understood management method, widely adopted today, in order to give predictable results to complex problems. However, quite often projects fail to satisfy their initial objectives. This is why studying the factors that affect the complexity of projects is quite important. In this paper, we will present the complexity factors that are related to project time, cost and quality management and then we will apply them to a number of selected projects, in order to compare the acquired results. The projects have been chosen in a way that results can be easily compared.
文摘A desirable software engineering goal is the prediction of software module complexity (a qualitative concept) using automatically generated software metrics (quantitative measurements). This goal may be couched in the language of pattern classification;namely, given a set of metrics (a pattern) for a software module, predict the class (level of complexity) to which the module belongs. To find this mapping from metrics to complexity, we present a classification strategy, stochastic metric selection, to determine the subset of software metrics that yields the greatest predictive power with respect to module complexity. We demonstrate the effectiveness of this strategy by empirically evaluating it using a publicly available dataset of metrics compiled from a medical imaging system and comparing the prediction results against several classification system benchmarks.
文摘This article proposes a pragmatic approach to software composition based on matching criteria by mimicking integrated hardware counterpart. The tangible value of consumer goods as described by Cox instills this logical derivation of the proposed approach. As software gradually matures in component form, various software compositions can be systematically assembled from related existing software. Two application software are composed based on their functionality matching. Their composition complexities are measured by function point. The total effort unveils a noteworthy finding that high complexity software demands larger effort to deploy. Thus, the proposed software composition framework not only offers the freedom of development mandates to the development team, but also broadens the horizon of cost and project evaluations by arriving at the proper mix of constituent components in the software product.
文摘Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the effectiveness and efficiency of this effort thus becomes more and more important. Identifying problematic code areas which are most likely to fail and therefore require most of the quality assurance attention is required. This article presents an exploratory study investigating whether the faults detected by static analysis tools combined with code complexity metrics can be used as software quality indicators and to build pre-release fault prediction models. The combination of code complexity metrics with static analysis fault density was used to predict the pre-release fault density with an accuracy of 78.3%. This combination was also used to separate high and low quality components with a classification accuracy of 79%.
文摘The paper shows a proposition of metrics for measuring the complexity of the business organization and business software. The metrics is based on a subjective estimation of complexity of the elements from a part of the structure of business organization or business software in relation to other elements from the observed part. Estimation is performed based on the measuring scale for comparison of complexity of elements, and reaching a final conclusion on the complexity of elements in relation to other elements, through the Analytic Hierarchy Process (AHP). Defined in this manner, the metrics represents a unique metrics for measuring the complexity of elements of business organization and business software, which enables their comparison. The paper also presents a short overview of existing metrics for measuring the complexity of business organization and business software.
文摘The complexity of software system has been increasing with software evolution, which affects the stability of software structure. Most of the existing measurement methods focus on the analysis of the macro-characteristics of the network topology, but lacked a certain depth and expansion to explore the nature of the complexity of the software structure, for this purpose, the complex network control theory was applied to the study of software network controllability. Firstly, the Source-Driver (SD) model was established based on the system control theory, the driver node sets were obtained by the minimum input theorem in the control process of software network topology;Then the relationship between the degree and center degree, the relationship between the in-degree and the out-degree of the software network topology were further analyzed owing to the non-uniqueness of the driver node sets;Finally, the values of the four indicators in the software system were compared. Experimental results show that the driver node sets in the software networks are mainly composed of nodes with low degree values, but it does not mean that the nodes whose in-degree values and out-degree values are also low;The action on control nodes and driver nodes are not random, the controllability of the driver nodes is closely related to the in-degree, when selecting the driver node sets, the network topology characteristics should be considered comprehensively, and the nodes with high degree and center degree are the first choice. The results have important guiding significance for the control, maintenance and redesign of software architecture.
文摘The developed auxiliary software serves to simplify, standardize and facilitate the software loading of the structural organization of a complex technological system, as well as its further manipulation within the process of solving the considered technological system. Its help can be especially useful in the case of a complex structural organization of a technological system with a large number of different functional elements grouped into several technological subsystems. This paper presents the results of its application for a special complex technological system related to the reference steam block for the combined production of heat and electricity.
基金Supported by the Science Foundation of Education Ministry of Shaanxi Province(15JK1672)the Industrial Research Project of Shaanxi Province(2016GY-089)the Innovation Fund of Xi’an University of Posts and Telecommunications(103-602080012)
文摘Software module clustering problem is an important and challenging problem in software reverse engineering whose main goal is to obtain a good modular structure of the software system. The large complex software system can be divided into some subsystems that are easy to understand and maintain through the software module clustering. Aiming at solving the problem of slow convergence speed, the poor clustering result, and the complex algorithm, a software module clustering algorithm using probability selection is proposed. Firstly, we convert the software system into complex network diagram, and then we use the operation of merger, adjustment and optimization to get the software module clustering scheme. To evaluate the effectiveness of the algorithm, a set of experiments was performed on 5 real-world module clustering problems. The comparison of the experimental results proves the simplicity of the algorithm as well as the low time complexity and fast convergence speed. This algorithm provides a simple and effective engineering method for software module clustering problem.
基金Science and Technology Department Term of Education of Heilongjiang Province(Grant No.11511127)
文摘In order to evaluate the structural complexity of class diagrams systematically and deeply, a new guiding framework of structural complexity is presented. An index system of structural complexity for class diagrams is given. This article discusses the formal description of class diagrams, and presents the method of formally structural complexity metrics for class diagrams from associations, dependencies, aggregations, generalizations and so on. An applicable example proves the feasibility of the presented method.
文摘Researchers have often commented on the high correlation between McCabe’s Cyclomatic Complexity (CC) and lines of code (LOC). Many have believed this correlation high enough to justify adjusting CC by LOC or even substituting LOC for CC. However, from an empirical standpoint the relationship of CC to LOC is still an open one. We undertake the largest statistical study of this relationship to date. Employing modern regression techniques, we find the linearity of this relationship has been severely underestimated, so much so that CC can be said to have absolutely no explana-tory power of its own. This research presents evidence that LOC and CC have a stable practically perfect linear rela-tionship that holds across programmers, languages, code paradigms (procedural versus object-oriented), and software processes. Linear models are developed relating LOC and CC. These models are verified against over 1.2 million randomly selected source files from the SourceForge code repository. These files represent software projects from three target languages (C, C++, and Java) and a variety of programmer experience levels, software architectures, and de-velopment methodologies. The models developed are found to successfully predict roughly 90% of CC’s variance by LOC alone. This suggest not only that the linear relationship between LOC and CC is stable, but the aspects of code complexity that CC measures, such as the size of the test case space, grow linearly with source code size across lan-guages and programming paradigms.
基金financially supported by the National Natural Science Foundation of China(No.21973104)。
文摘In spite of the impending flattening of Moore’s law,the complexity and size of the systems we are interested in keep on increasing.This challenges the computer simulation tools due to the expensive computational cost.Fortunately,advanced theoretical methods can be considered as alternatives to accurately and efficiently capture the structural and thermodynamic properties of complex inhomogeneous fluids.In the last decades,classical density functional theory(cDFT)has proven to be a sophisticated,robust,and efficient approach for studying complex inhomogeneous fluids.In this work,we present a pedagogical introduction to a broadly accessible open-source density functional theory software package named"an advanced theoretical tool for inhomogeneous fluids"(Atif)and of the underlying theory.To demonstrate Atif,we take three cases as examples using a typical laptop computer:(i)electric double-layer of asymmetric electrolytes;(ii)adsorptions of sequencedefined semiflexible polyelectrolytes on an oppositely charged surface;and(iii)interactions between surfaces mediated by polyelectrolytes.We believe that this pedagogical introduction will lower the barrier to entry to the use of Atif by experimental as well as theoretical groups.A companion website,which provides all of the relevant sources including codes and examples,is attached.
文摘Firstly, it is found that process design is necessary for software process improvement after analyzing its complexity. Then, research methods and concepts framework are put forward, and the research content is also provided. The find-ings of research, including propositions of complexity of software process, the work program of complexity of software process improvement, software enterprise model and software production support structure are clarified. Finally, the demonstration, including mindbugs (cognitive barriers) in software process and the knowledge integration support structure of quality software production, is illustrated with case study. It is concluded that the research is useful for both software production and knowledge economy in the future.
文摘Following the growing research interests in complex networks, in recent years many researchers treated static structures of software as complex networks and revealed that most of these networks demonstrate small-world effect and follow scale-free degree distribution. Different from the perspectives adopted in these works, our previous work proposed software mirror graph to model the dynamic execution processes of software and revealed software mirror graph may also be small world and scale-free. To explain how the software mirror graph evolves into a small world and scale free structure, in this paper we further proposed a mathematical model based on the mechanisms of growth, preferential attachment, and walking. This model captures some of the features of the software mirror graph, and the simulation results show that it can generate a network having similar properties to the software mirror graph. The implications are also discussed in this paper.
文摘Naturally, like the web, integrated software systems in Internet will have to be distributed and heterogeneous. To im-prove the interoperability of services for SAAS, it is crucial to build requirements semantics that will cross the entire lifecycle of services especially on requirements stage. In this paper, a requirements semantics interoperability extend-ing approach called Connecting Ontologies (CO) that will act as semantics information carrier designing to facilitate the requirements identification and services composition is proposed. Semantic measurement of Chinese scenario is explored. By adopting the approach, a series of tools support for transport domain are developed and applied based on CO and DPO (Domain Problem Ontology) to enforce requirements engineering of networked software efficiently.