Complexity measure based on program slicing and its validation

The popular single-factor complexity measure cannot comprehensively reflect program complexity and the existing hybrid complexity measure cannot express the interactive behaviors of programs. To treat these problems, in this paper, we propose a complexity measure based on program slicing (CMBPS). CMPBS not only can evaluate factors which affect program complexity such as the length of the program, control flow, data flow and data types of output variables, but also can give expression of the interactive relation between programs. And we also prove that CMBPS satisfies all of Weyuker properties. Compared with the popular complexity measures, CMBPS is a well-structured complexity measure.

[1]  Joost Visser,et al.  Interpretation of Source Code Clusters in Terms of the ISO/IEC-9126 Maintainability Characteristics , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[2]  Sanjay Misra,et al.  Evaluating cognitive complexity measure with Weyuker properties , 2004, Proceedings of the Third IEEE International Conference on Cognitive Informatics, 2004..

[3]  Wilfred J. Hansen,et al.  Measurement of program complexity by the pair: (Cyclomatic Number, Operator Count) , 1978, SIGP.

[4]  Ashish Sharma,et al.  Complexity measure based on requirement engineering document and its validation , 2010, 2010 International Conference on Computer and Communication Technology (ICCCT).

[5]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[6]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[7]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[8]  Arun Kumar Misra,et al.  Robustness analysis of cognitive information complexity measure using Weyuker properties , 2006, SOEN.

[9]  Paul W. Oman,et al.  Construction and testing of polynomials predicting software maintainability , 1994, J. Syst. Softw..

[10]  John C. Munson,et al.  Software Engineering Measurement , 2003 .

[11]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[12]  L. Carvajal,et al.  IEEE Transactions on Software Engineering , 2016 .

[13]  Victor R. Basili,et al.  Iterative enhancement: A practical technique for software development , 1975, IEEE Transactions on Software Engineering.

[14]  Sanjay Misra A Complexity Measure Based on Cognitive Weights , 2006 .

[15]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[16]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[17]  Yixiang Chen,et al.  A Quantitative Relation Model between Trustworthy Attributes , 2012, QLSC.

[18]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[19]  A. Oladipupo,et al.  THEORETICAL APPROACHES IN SOFTWARE COMPLEXITY METRICS , 2002 .

[20]  Bogdan Korel,et al.  Program slicing in understanding of large programs , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).