Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abrahams D, Gurtovoy A (2004) C++ template metaprogramming: concepts, tools, and techniques from boost and beyond. Addison Wesley Professional, Boston
Albin ST (2003) The art of software architecture: design methods and techniques. Wiley, Indianapolis
Blecker T, Abdelkafi N, Kaluza B, Kreutler G (2004) A framework for understanding the interdependencies between mass customization and complexity. In: Proceedings of the 2nd international conference on business economics, management and marketing, Athens, Greece, 24–27 June 2004
Briand LC, Morasca S, Basili VR (1996) Property-based software engineering measurement. IEEE Trans Softw Eng 22(1):68–86
Bennett KH, Rajlich V (2000) Software maintenance and evolution: a roadmap. In: Finkelstein AC (ed) Future of software engineering. ACM New York, NY, USA, pp 73–87
Bandi RK, Vaishnavi VK, Turk DE (2003) Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans Softw Eng 29(1):77–87
Card DN, Agresti WW (1988) Measuring software design complexity. J Syst Softw 8:185–197
Card DN, Glass RL (1990) Measuring software design quality. Prentice Hall, Englewood Cliffs
Coplien J, Hoffman D, Weiss D (1998) Commonality and variability in software engineering. IEEE Softw 15:37–45
Cardoso J, Mendling J, Neumann G, Reijers HA (2006) A discourse on complexity of process models. In: Eder J, Dustdar S (eds) Proceedings of Business Process Management BPM 2006 workshops, Vienna, Austria, 4–7 Sept 4–7 2006. LNCS, vol 4103, Berlin: Springer-Verlag, pp 117–128
Czarnecki K, Wasowski A (2007) Feature diagrams and logics: there and back again. In: 11th international software product line conference, SPLC 2007. 10–14 Sept 2007, Washington, USA, pp 23–34
Damaševičius R (2001) Scripting Language Open PROMOL: Extension, Environment and Application. MSc, thesis. Kaunas University of Technology, Lithuania
Damaševičius R (2006) On the quantitative estimation of abstraction level increase in metaprograms. Comput Sci Inf Syst (ComSIS) 3(1):53–64
Dembski WA (1999) Intelligent design as a theory of information. Intervarsity Press, Downers Grove
Edmonds B (1999) Syntactic measures of complexity. Doctoral Thesis, University of Manchester, Manchester
Emam KEl (2000) A methodology for validating software product metrics. National Research Council of Canada, Ottawa, ON, Canada (NCR/ERC-1076)
Frappier M, Matwin S, Mili A (1994) Software metrics for predicting maintainability. Software metrics study: Technical Memorandum 2. Canadian Space Agency, St-Hubert, Virginia Polytechnic, 2(3):129–143
Glass RL (2002) Sorting out software complexity. Source Commun ACM Archive 45(11):19–21
Halstead MH (1977) Elements of software science. Elsevier, New York
Heering J (2003) Quantification of structural information: on a question raised by Brooks. ACM SIGSOFT Softw Eng Notes 28(3):6–6
Henry SM, Kafura DG (1981) Software structure metrics based on information flow. IEEE Trans Softw Eng 7(5):510–518
IEEE Computer Society: IEEE standard glossary of software engineering terminology, IEEE Std. 610.12 – 1990
Keating M (2000) Measuring design quality by measuring design complexity. In: Proceedings of the 1st International Symposium on Quality of Electronic Design (ISQED 2000), IEEE Computer Society Washington, DC, USA, pp 103–108
Kintsch W (1998) Comprehension: a paradigm for cognition. Cambridge University Press, New York
Kang K, Lee J, Donohoe P (2002) Feature-oriented product line engineering. IEEE Softw 19(4):58–65
Liu J, Basu S, Lutz R (2008) Generating variation-point obligations for compositional model checking of software product lines. Technical Report 08-04, Computer Science, Iowa State University
Laue R, Gruhn V (2006) Complexity metrics for business process models. In: Abramowicz W, Mayr HC (eds) Proceedings of 9th international conference on Business Information Systems (BIS 2006), LNI 85, Klagenfurt, Austria, pp 1–12
Li M, Vitanyi P (1997) An introduction to Kolmogorov complexity and its applications. Springer, New York
Misra S, Akman I (2008) A model for measuring cognitive complexity of software. In: Proceedings of 12th international conference on Knowledge-Based Intelligent Information and Engineering Systems (KES 2008), Zagreb, Croatia, 3–5 Sept 2008, Part II. LNCS, vol 5178, Springer, pp 879–886
Misra S, Akman I (2008) Applicability of Weyuker’s properties on OO metrics: some misunderstandings. Comput Sci Inf Syst (ComSIS), Springer-Verlag Berlin, Heidelberg, 5(1):17–24
Manzini G (1999) The Burrows-Wheeler transform: theory and practice, vol 1672, Lecture notes in computer science. MFCS ’99 Proceedings of the 24th International Symposium on Mathematical Foundations of Computer Science, Springer-Verlag London, pp 34–47
Mc Cabe TJ (1976) A complexity measure. IEEE Trans Softw Eng SE-2(4):308–320
Miller G (1956) The magic number seven, plus or minus two: some limits on our capacity for processing information. Psychol Rev 63(2):81–97
Mendling J, Neumann G, van der Aalst WMP (2007) Understanding the occurrence of errors in process models based on metrics. In: Proceedings of OTM conference 2007. LNCS, vol 4803: CoopIS, DOA, ODBASE, GADA, and IS – Volume Part I, Springer-Verlag Berlin, Heidelberg, pp 113–130
von Mayrhauser A, Vans AM (1995) Program understanding: models and experiments. In: Yovits MC, Zelkowitz MV (eds) Advances in computers, vol 40. Academic, Troy, pp 1–38
Pataki N, Pocza K, Porkolab Z (2007) Towards a software metric for generic programming paradigm. In: 16th IEEE international electrotechnical and computer science conference, 24–26 Sept, Portorož, Slovenia
Pataki N, Sipos Á, Porkoláb Z (2006) Measuring the complexity of aspect-oriented programs with multiparadigm metric. In: Proceedings of 10th ECOOP workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE 2006), 3 July 2006, Nantes, France, pp 1–10
Rauterberg M (1996) How to measure cognitive complexity in human-computer interaction. In: Proceedings of the 13th European meeting on cybernetics and systems research, vol 2, Vienna, Austria, 9–12 April, pp 815–820
Reformat M, Musilek P, Wu V, Pizzi NJ (2004) Human perception of software complexity: knowledge discovery from software data. In: Proceedings of 16th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2004), 15–17 Nov 2004, IEEE Computer Society Washington, DC, USA, pp 202–206
Software Engineering Institute (SEI) (2006) Cyclomatic complexity. In: Software technology roadmap, 2006. Online: http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html
Sipos A, Pataki N, Porkolab Z (2006) On multiparadigm software complexity metrics. Pure Math Appli 17(3–4):469–482
Sheetz SD, Tegarden DP, Monarchi DE (1991) Measuring object-oriented system complexity. In: Proceedings of the first workshop of information technologies and systems. Cambridge, MA, pp 285–307
Shao J, Wang Y (2003) A new measure of software complexity based on cognitive weights. Can J Elect Comput Eng 28(2):69–74
Taha W, Crosby S, Swadi K (2004) A new approach to data mining for software design. In: Proceedings of the international conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications (CSITeA’04), Cairo, Egypt
Troy DA, Zweben SH (1981) Measuring the quality of structured designs. J Syst Softw 2:113–120
Visscher B-F (2005) Exploring complexity in software systems. PhD thesis. University of Portsmouth
Wang Y (2009) On the cognitive complexity of software and its quantification and formal measurement. Int J Softw Sci Comput Intell 1(2):31–53
Weyuker EJ (1988) Evaluating software complexity measures. IEEE Trans Softw Eng 14(9):1357–1365
Zuse H (1991) Software complexity – measures and methods. DeGruyter Publications, Berlin/New York
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2013 Springer-Verlag London
About this chapter
Cite this chapter
Štuikys, V., Damaševičius, R. (2013). Complexity Evaluation of Feature Models and Meta-Programs. In: Meta-Programming and Model-Driven Meta-Program Development. Advanced Information and Knowledge Processing, vol 5. Springer, London. https://doi.org/10.1007/978-1-4471-4126-6_12
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4126-6_12
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4125-9
Online ISBN: 978-1-4471-4126-6
eBook Packages: Computer ScienceComputer Science (R0)