Complexity Evaluation of Feature Models and Meta-Programs

Complexity is the inherent property of systems to be designed. The need for managing the complexity issues is constantly growing since systems per se are becoming more and more complex mainly due to technological advances, increasing user requirements and market pressure. Complexity management can help to increase quality and understandability of developed products, decrease the number of design errors [TZ81] and shorten their development time. Managing complexity means, firstly, knowing how to measure it. Complexity measures allow reasoning about system structure, understanding the system behaviour, comparing and evaluating systems or foreseeing their evolution.

[1]  Walid Taha,et al.  A New Approach to Data Mining for Software Design , 2004 .

[2]  Yingxu Wang,et al.  A new measure of software complexity based on cognitive weights , 2003 .

[3]  Volker Gruhn,et al.  Complexity Metrics for business Process Models , 2006, BIS.

[4]  Stuart H. Zweben,et al.  Measuring the quality of structured designs , 1981, J. Syst. Softw..

[5]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[6]  Robert L. Glass,et al.  Sorting out software complexity , 2002, CACM.

[7]  Jan Mendling,et al.  Understanding the Occurrence of Errors in Process Models Based on Metrics , 2007, OTM Conferences.

[8]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[9]  Michael Keating,et al.  Measuring design quality by measuring design complexity , 2000, Proceedings IEEE 2000 First International Symposium on Quality Electronic Design (Cat. No. PR00525).

[10]  Yingxu Wang,et al.  On the Cognitive Complexity of Software and its Quantification and Formal Measurement , 2009, Int. J. Softw. Sci. Comput. Intell..

[11]  Walter Kintsch,et al.  Comprehension: A Paradigm for Cognition , 1998 .

[12]  Jan Mendling,et al.  A Discourse on Complexity of Process Models , 2006, Business Process Management Workshops.

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

[14]  Gwm Matthias Rauterberg How to measure cognitive complexity in human-computer interaction , 1996 .

[15]  Ming Li,et al.  An Introduction to Kolmogorov Complexity and Its Applications , 2019, Texts in Computer Science.

[16]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[17]  Norman F. Schneidewind,et al.  A Methodology for Validating Software Product Metrics , 2000 .

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

[19]  Petr Musílek,et al.  Human perception of software complexity: knowledge discovery from software data , 2004, 16th IEEE International Conference on Tools with Artificial Intelligence.

[20]  Anneliese Amschler Andrews,et al.  Program Understanding: Models and Experiments , 1995, Adv. Comput..

[21]  Stephen Albin The Art of Software Architecture: Design Methods and Techniques , 2003 .

[22]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[23]  Sanjay Misra,et al.  Applicability of Weyuker's properties on OO metrics: Some misunderstandings , 2008, Comput. Sci. Inf. Syst..

[24]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[25]  Jan Heering Quantification of structural information: on a question raised by Brooks , 2003, SOEN.

[26]  Giovanni Manzini,et al.  Invited Lecture: The Burrows-Wheeler Transform: Theory and Practice , 1999, MFCS.

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

[28]  Samik Basu,et al.  Generating Variation-point Obligations for Compositional Model Checking of Software Product Lines , 2008 .

[29]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[30]  Sanjay Misra,et al.  A Model for Measuring Cognitive Complexity of Software , 2008, KES.

[31]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[32]  David N. Card,et al.  Measuring software design complexity , 1988, J. Syst. Softw..

[33]  Thorsten Blecker,et al.  A Framework for Understanding the Interdependencies between Mass Customization and Complexity , 2004 .

[34]  Robertas Damasevicius On the quantitative estimation of abstraction level increase in metaprograms , 2006, Comput. Sci. Inf. Syst..

[35]  Bruce Edmonds,et al.  Syntactic Measures of Complexity , 1999 .

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

[37]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[38]  Robert L. Glass,et al.  Measuring software design quality , 1990 .

[39]  David Abrahams,et al.  C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series) , 2004 .