This paper reports on a pioneer effort for the establishment of a software composite metric with key capability of distinguishing among different structures. As a part of this effort most of the previously proposed pr...This paper reports on a pioneer effort for the establishment of a software composite metric with key capability of distinguishing among different structures. As a part of this effort most of the previously proposed program control-flow complexity metrics are evaluated. It is observed that most of these metrics are inherently limited in distinguishing capability. However, the concept of composite metrics is potentially useful for the development of a practical metrics. This paper presents a methodology for the develop- ment of a practical composite metric using statistical techniques. The proposed metric differs from all previous metrics in 2 ways: (1) It is based on an overall structural analysis of a given program in deeper and broader context. It captures various structural measurements taken from all existing structural levels; (2) It unifies a set of 19 important structural metrics. The compositing model of these metrics is based on statistical techniques rather than on an arbitrary method. Experinces with the pro- posed metric clearly indicate that it distinguishes different structures better than the previous metrics.展开更多
In order to solve the problem that the embedded software has the shortcoming of the platform dependence, this paper presents an embedded software analysis method based on the static structure model. Before control flo...In order to solve the problem that the embedded software has the shortcoming of the platform dependence, this paper presents an embedded software analysis method based on the static structure model. Before control flow and data flow analysis, a lexical analysis/syntax analysis method with simplified grammar and sentence depth is designed to analyze the embedded software. The experiments use the open source code of smart meters as a case, and the artificial faults as the test objects, repeating 30 times. Compared with the popular static analyzing tools PC-Lint and Splint, the method can accurately orient 91% faults, which is between PC-Lint's 95% and Splint's 85%. The result indicates that the correct rate of our method is acceptable. Meanwhile, by removing the platform-dependent operation with simplified syntax analysis, our method is independent of development environment. It also shows that the method is applicable to the compiled C(including embedded software) program.展开更多
The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric cal...The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric called software quality of structure(SQoS) is presented for quantitatively measuring the structural quality of object-oriented(OO) softwares via bug propagation analysis on weighted software networks(WSNs).First,the software systems are modeled as a WSN,weighted class dependency network(WCDN),in which classes are nodes and the interaction between every pair of classes if any is a directed edge with a weight indicating the probability that a bug in one class will propagate to the other.Then we analyze the bug propagation process in the WCDN together with the bug proneness of each class,and based on this,a metric(SQoS) to measure the structural quality of OO softwares as a whole is developed.The approach is evaluated in two case studies on open source Java programs using different software structures(one employs design patterns and the other does not) for the same OO software.The results of the case studies validate the effectiveness of the proposed metric.The approach is fully automated by a tool written in Java.展开更多
The analysis of software system evolution is highly significant in software research as the evolution runs throughout the lifecycle of a software system. Considering a software system as an algebraic engineering syste...The analysis of software system evolution is highly significant in software research as the evolution runs throughout the lifecycle of a software system. Considering a software system as an algebraic engineering system, we propose a software system evolution analysis method based on algebraic topology. First, from a complex network perspective, we abstract a software system into the software structural topology diagram. Then, based on the algebraic topology principle, we abstract each node in the software structural topology diagram into an algebraic component represented by a 6-tuple. We propose three kinds of operation relationships between two algebraic components, so that the software system can be abstracted into an algebraic expression of components. In addition, we propose three forms of software system evolution, which help to analyze the structure and evolution of system software and facilitate its maintenance and reconfiguration.展开更多
The increasing awareness of the general society toward the seismic safety of structures has led to more restrictive performance requirements hence, many times, to the need of using new and more accurate methods of ana...The increasing awareness of the general society toward the seismic safety of structures has led to more restrictive performance requirements hence, many times, to the need of using new and more accurate methods of analysis of structures. Among these, nonlinear static procedures are becoming, evermore, the preferred choice of the majority of design codes, as an alternative to complete nonlinear time-history analysis for seismic design and assessment of structures. The many available software tools should therefore be evaluated and well understood, in order to be easily and soundly employed by the practitioners. The study presented herein intends to contribute to this need by providing further insight with respect to the use of commonly employed structural analysis software tools in nonlinear analysis of bridge structures. A comparison between different nonlinear modeling assumptions is presented, together with the comparison with real experimental results. Furthermore, alternative adaptive pushover procedures are proposed and applied to a case study bridge, based on a generic plastic hinge model. The adopted structural analysis program proved to be accurate, yielding reliable estimates, both in terms of local plastic hinge behavior and global structural behavior.展开更多
To implement five-axis functions in CNC system, based on domestic system Lan Tian series, an improved design method for the system software structure is proposed in this paper. The numerical control kernel of CNC syst...To implement five-axis functions in CNC system, based on domestic system Lan Tian series, an improved design method for the system software structure is proposed in this paper. The numerical control kernel of CNC system is divided into the task layer and the motion layer. A five-axis transformation unit is integrated into the motion layer. After classifying five-axis machines into different types and analyzing their geometry information, the five-axis kinematic library is designed according to the abstract factory pattern. Furthermore, by taking CA spindle- tilting machine as an example, the forward and the inverse kinematic transformations are deduced. Based on the new software architecture and the five-axis kinematic library, algorithms of RTCP (rotation tool center point control) and 3D radius compensation for end-milling are designed and realized. The milling results show that, with five-axis functions based on such software struc- ture, the instructions with respect to the cutter's position and orientation can be directly carried out in the CNC system.展开更多
文摘This paper reports on a pioneer effort for the establishment of a software composite metric with key capability of distinguishing among different structures. As a part of this effort most of the previously proposed program control-flow complexity metrics are evaluated. It is observed that most of these metrics are inherently limited in distinguishing capability. However, the concept of composite metrics is potentially useful for the development of a practical metrics. This paper presents a methodology for the develop- ment of a practical composite metric using statistical techniques. The proposed metric differs from all previous metrics in 2 ways: (1) It is based on an overall structural analysis of a given program in deeper and broader context. It captures various structural measurements taken from all existing structural levels; (2) It unifies a set of 19 important structural metrics. The compositing model of these metrics is based on statistical techniques rather than on an arbitrary method. Experinces with the pro- posed metric clearly indicate that it distinguishes different structures better than the previous metrics.
基金Supported by the National Natural Science Foundation of China(61303214)the Science and Technology Project of China State Grid Corp(KJ15-1-32)
文摘In order to solve the problem that the embedded software has the shortcoming of the platform dependence, this paper presents an embedded software analysis method based on the static structure model. Before control flow and data flow analysis, a lexical analysis/syntax analysis method with simplified grammar and sentence depth is designed to analyze the embedded software. The experiments use the open source code of smart meters as a case, and the artificial faults as the test objects, repeating 30 times. Compared with the popular static analyzing tools PC-Lint and Splint, the method can accurately orient 91% faults, which is between PC-Lint's 95% and Splint's 85%. The result indicates that the correct rate of our method is acceptable. Meanwhile, by removing the platform-dependent operation with simplified syntax analysis, our method is independent of development environment. It also shows that the method is applicable to the compiled C(including embedded software) program.
基金supported by the National Basic Research 973 Program of China under Grant No.2007CB310801the National Natural Science Foundation of China under Grant Nos.60873083,60803025,60703009 and 60703018+3 种基金the Natural Science Foundation of Hubei Province under Grant No.2008ABA379the Natural Science Foundation of Hubei Province for Distinguished Young Scholars under Grant No.2008CDB351the Research Fund for the Doctoral Program of Higher Education of China under Grant Nos.20070486065 and 20090141120022the Fundamental Research Funds for the Central Universities of China under Grant No.6082005
文摘The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric called software quality of structure(SQoS) is presented for quantitatively measuring the structural quality of object-oriented(OO) softwares via bug propagation analysis on weighted software networks(WSNs).First,the software systems are modeled as a WSN,weighted class dependency network(WCDN),in which classes are nodes and the interaction between every pair of classes if any is a directed edge with a weight indicating the probability that a bug in one class will propagate to the other.Then we analyze the bug propagation process in the WCDN together with the bug proneness of each class,and based on this,a metric(SQoS) to measure the structural quality of OO softwares as a whole is developed.The approach is evaluated in two case studies on open source Java programs using different software structures(one employs design patterns and the other does not) for the same OO software.The results of the case studies validate the effectiveness of the proposed metric.The approach is fully automated by a tool written in Java.
基金supported by the National Natural Science Foundation of China (No. U1636115)the National Key R&D Program of China (No. 2016YFB0800700)
文摘The analysis of software system evolution is highly significant in software research as the evolution runs throughout the lifecycle of a software system. Considering a software system as an algebraic engineering system, we propose a software system evolution analysis method based on algebraic topology. First, from a complex network perspective, we abstract a software system into the software structural topology diagram. Then, based on the algebraic topology principle, we abstract each node in the software structural topology diagram into an algebraic component represented by a 6-tuple. We propose three kinds of operation relationships between two algebraic components, so that the software system can be abstracted into an algebraic expression of components. In addition, we propose three forms of software system evolution, which help to analyze the structure and evolution of system software and facilitate its maintenance and reconfiguration.
文摘The increasing awareness of the general society toward the seismic safety of structures has led to more restrictive performance requirements hence, many times, to the need of using new and more accurate methods of analysis of structures. Among these, nonlinear static procedures are becoming, evermore, the preferred choice of the majority of design codes, as an alternative to complete nonlinear time-history analysis for seismic design and assessment of structures. The many available software tools should therefore be evaluated and well understood, in order to be easily and soundly employed by the practitioners. The study presented herein intends to contribute to this need by providing further insight with respect to the use of commonly employed structural analysis software tools in nonlinear analysis of bridge structures. A comparison between different nonlinear modeling assumptions is presented, together with the comparison with real experimental results. Furthermore, alternative adaptive pushover procedures are proposed and applied to a case study bridge, based on a generic plastic hinge model. The adopted structural analysis program proved to be accurate, yielding reliable estimates, both in terms of local plastic hinge behavior and global structural behavior.
基金supported by the National Basic Research Program of China (No. 2011CB302400)the Important National Science & Technology Specific Projects (No. 2013ZX04007031).
文摘To implement five-axis functions in CNC system, based on domestic system Lan Tian series, an improved design method for the system software structure is proposed in this paper. The numerical control kernel of CNC system is divided into the task layer and the motion layer. A five-axis transformation unit is integrated into the motion layer. After classifying five-axis machines into different types and analyzing their geometry information, the five-axis kinematic library is designed according to the abstract factory pattern. Furthermore, by taking CA spindle- tilting machine as an example, the forward and the inverse kinematic transformations are deduced. Based on the new software architecture and the five-axis kinematic library, algorithms of RTCP (rotation tool center point control) and 3D radius compensation for end-milling are designed and realized. The milling results show that, with five-axis functions based on such software struc- ture, the instructions with respect to the cutter's position and orientation can be directly carried out in the CNC system.