Skip to main content

Complexity Evaluation of Feature Models and Meta-Programs

  • Chapter
  • First Online:
Meta-Programming and Model-Driven Meta-Program Development

Part of the book series: Advanced Information and Knowledge Processing ((AI&KP,volume 5))

  • 1123 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Abrahams D, Gurtovoy A (2004) C++ template metaprogramming: concepts, tools, and techniques from boost and beyond. Addison Wesley Professional, Boston

    Google Scholar 

  2. Albin ST (2003) The art of software architecture: design methods and techniques. Wiley, Indianapolis

    Google Scholar 

  3. 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

    Google Scholar 

  4. Briand LC, Morasca S, Basili VR (1996) Property-based software engineering measurement. IEEE Trans Softw Eng 22(1):68–86

    Article  Google Scholar 

  5. 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

    Google Scholar 

  6. Bandi RK, Vaishnavi VK, Turk DE (2003) Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans Softw Eng 29(1):77–87

    Article  Google Scholar 

  7. Card DN, Agresti WW (1988) Measuring software design complexity. J Syst Softw 8:185–197

    Google Scholar 

  8. Card DN, Glass RL (1990) Measuring software design quality. Prentice Hall, Englewood Cliffs

    Google Scholar 

  9. Coplien J, Hoffman D, Weiss D (1998) Commonality and variability in software engineering. IEEE Softw 15:37–45

    Article  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. Damaševičius R (2001) Scripting Language Open PROMOL: Extension, Environment and Application. MSc, thesis. Kaunas University of Technology, Lithuania

    Google Scholar 

  13. Damaševičius R (2006) On the quantitative estimation of abstraction level increase in metaprograms. Comput Sci Inf Syst (ComSIS) 3(1):53–64

    Article  Google Scholar 

  14. Dembski WA (1999) Intelligent design as a theory of information. Intervarsity Press, Downers Grove

    Google Scholar 

  15. Edmonds B (1999) Syntactic measures of complexity. Doctoral Thesis, University of Manchester, Manchester

    Google Scholar 

  16. Emam KEl (2000) A methodology for validating software product metrics. National Research Council of Canada, Ottawa, ON, Canada (NCR/ERC-1076)

    Google Scholar 

  17. 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

    Google Scholar 

  18. Glass RL (2002) Sorting out software complexity. Source Commun ACM Archive 45(11):19–21

    Google Scholar 

  19. Halstead MH (1977) Elements of software science. Elsevier, New York

    MATH  Google Scholar 

  20. Heering J (2003) Quantification of structural information: on a question raised by Brooks. ACM SIGSOFT Softw Eng Notes 28(3):6–6

    Google Scholar 

  21. Henry SM, Kafura DG (1981) Software structure metrics based on information flow. IEEE Trans Softw Eng 7(5):510–518

    Article  Google Scholar 

  22. IEEE Computer Society: IEEE standard glossary of software engineering terminology, IEEE Std. 610.12 – 1990

    Google Scholar 

  23. 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

    Google Scholar 

  24. Kintsch W (1998) Comprehension: a paradigm for cognition. Cambridge University Press, New York

    Google Scholar 

  25. Kang K, Lee J, Donohoe P (2002) Feature-oriented product line engineering. IEEE Softw 19(4):58–65

    Article  Google Scholar 

  26. 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

    Google Scholar 

  27. 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

    Google Scholar 

  28. Li M, Vitanyi P (1997) An introduction to Kolmogorov complexity and its applications. Springer, New York

    MATH  Google Scholar 

  29. 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

    Google Scholar 

  30. 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

    Article  Google Scholar 

  31. 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

    Google Scholar 

  32. Mc Cabe TJ (1976) A complexity measure. IEEE Trans Softw Eng SE-2(4):308–320

    Article  MathSciNet  Google Scholar 

  33. 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

    Article  Google Scholar 

  34. 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

    Google Scholar 

  35. 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

    Google Scholar 

  36. 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

    Google Scholar 

  37. 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

    Google Scholar 

  38. 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

    Google Scholar 

  39. 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

    Google Scholar 

  40. Software Engineering Institute (SEI) (2006) Cyclomatic complexity. In: Software technology roadmap, 2006. Online: http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html

  41. Sipos A, Pataki N, Porkolab Z (2006) On multiparadigm software complexity metrics. Pure Math Appli 17(3–4):469–482

    MathSciNet  MATH  Google Scholar 

  42. 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

    Google Scholar 

  43. Shao J, Wang Y (2003) A new measure of software complexity based on cognitive weights. Can J Elect Comput Eng 28(2):69–74

    Article  Google Scholar 

  44. 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

    Google Scholar 

  45. Troy DA, Zweben SH (1981) Measuring the quality of structured designs. J Syst Softw 2:113–120

    Article  Google Scholar 

  46. Visscher B-F (2005) Exploring complexity in software systems. PhD thesis. University of Portsmouth

    Google Scholar 

  47. 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

    Article  Google Scholar 

  48. Weyuker EJ (1988) Evaluating software complexity measures. IEEE Trans Softw Eng 14(9):1357–1365

    Article  MathSciNet  Google Scholar 

  49. Zuse H (1991) Software complexity – measures and methods. DeGruyter Publications, Berlin/New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vytautas Štuikys .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics