Skip to main content

Feature Level Complexity and Coupling Analysis in 4GL Systems

  • Conference paper
  • First Online:
Computational Science and Its Applications – ICCSA 2018 (ICCSA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10964))

Included in the following conference series:

  • 2074 Accesses

Abstract

Product metrics are widely used in the maintenance and evolution phase of software development to advise the development team about software quality. Although most of these metrics are defined for mainstream languages, several of them were adapted to fourth generation languages (4GL) as well. Usual concepts like size, complexity and coupling need to be re-interpreted and adapted to program elements defined by these languages. In this paper we take a further step in this process to address product line development in 4GL. Adopting product line architecture is a necessary step to handle challenges of a growing number of similar product variants. The product line adoption process itself is a tedious task where features of the product variants play crucial role. Features represent a higher level of abstraction that are cross-cutting to program elements of 4GL applications. We propose a set of metrics related to features by linking existing program elements to metrics and by relating features with each other. The focus of this study is on complexity and coupling metrics. We provide a metrics based analysis of several variants of a large scale industrial product line written in the Magic XPA 4GL language.

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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://www.raincode.com/fglroadmap.html.

  2. 2.

    http://www.magic-optimizer.com/.

References

  1. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  2. Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: MAGISTER: quality assurance of magic applications for software developers and end users. In: 26th IEEE International Conference on Software Maintenance, pp. 1–6. IEEE Computer Society, September 2010

    Google Scholar 

  3. Nagy, C., Vidács, L., Ferenc, R., Gyimóthy, T., Kocsis, F., Kovács, I.: Solutions for reverse engineering 4GL applications, recovering the design of a logistical wholesale system. In: Proceedings of CSMR 2011, 15th European Conference on Software Maintenance and Reengineering, pp. 343–346. IEEE Computer Society, March 2011

    Google Scholar 

  4. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Boston (2001)

    Google Scholar 

  5. Krueger, C.W.: Easing the transition to software mass customization. In: van der Linden, F. (ed.) PFE 2001. LNCS, vol. 2290, pp. 282–293. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47833-7_25

    Chapter  MATH  Google Scholar 

  6. Kästner, C., Dreiling, A., Ostermann, K.: Variability mining: consistent semi-automatic detection of product-line features. IEEE Trans. Softw. Eng. 40(1), 67–82 (2014)

    Article  Google Scholar 

  7. Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration. In: Proceedings of the 18th International Software Product Line Conference on Companion Volume for Workshops, Demonstrations and Tools - SPLC 2014, pp. 52–59. ACM Press, New York (2014)

    Google Scholar 

  8. Eyal-Salman, H., Seriai, A.D., Dony, C., Al-msie’deen, R.: Recovering traceability links between feature models and source code of product variants. In: Proceedings of the VARiability for You Workshop on Variability Modeling Made Useful for Everyone - VARY 2012, pp. 21–25. ACM Press, New York (2012)

    Google Scholar 

  9. Nagy, C., et al.: Complexity measures in 4GL environment. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011. LNCS, vol. 6786, pp. 293–309. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21934-4_25

    Chapter  Google Scholar 

  10. Katzmarski, B., Koschke, R.: Program complexity metrics and programmer opinions. In: 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 17–26. IEEE, June 2012

    Google Scholar 

  11. Kicsi, A., Vidács, L., Beszédes, A., Kocsis, F., Kovács, I.: Information retrieval based feature analysis for product line adoption in 4GL systems. In: Proceedings of the 17th International Conference on Computational Science and Its Applications - ICCSA 2017, pp. 1–6. IEEE (2017)

    Google Scholar 

  12. Kicsi, A., et al.: Supporting product line adoption by combining syntactic and textual feature extraction. In: Capilla, R., Gallina, B., Cetina, C. (eds.) ICSR 2018. LNCS, vol. 10826, pp. 148–163. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-319-90421-4_10

    Chapter  Google Scholar 

  13. Halstead, M.H.: Elements of Software Science. Operating and Programming Systems Series. Elsevier Science Inc., New York (1977)

    MATH  Google Scholar 

  14. Verner, J., Tate, G.: Estimating size and effort in fourth-generation development. IEEE Softw. 5, 15–22 (1988)

    Article  Google Scholar 

  15. Witting, G., Finnie, G.: Using artificial neural networks and function points to estimate 4GL software development effort. Australas. J. Inf. Syst. 1(2), 87–94 (1994)

    Google Scholar 

  16. Harrison, J.V., Lim, W.M.: Automated reverse engineering of legacy 4GL information system applications using the ITOC workbench. In: Pernici, B., Thanos, C. (eds.) CAiSE 1998. LNCS, vol. 1413, pp. 41–57. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054218

    Chapter  Google Scholar 

  17. Ocean Software Solutions: Homepage of Magic Optimizer. http://www.magic-optimizer.com. Accessed Feb 2018

  18. M2J Software LLC: Homepage of M2J. http://www.magic2java.com. Accessed Feb 2018

  19. McCabe, T.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4) (1976)

    Article  MathSciNet  Google Scholar 

  20. Albrecht, A.J., Gaffney, J.E.: Software function, source lines of code, and development effort prediction: a software science validation. IEEE Trans. Softw. Eng. 9, 639–648 (1983)

    Article  Google Scholar 

  21. Navlakha, J.K.: A survey of system complexity metrics. Comput. J. 30, 233–238 (1987)

    Article  Google Scholar 

  22. Yu, S., Zhou, S.: A survey on metric of software complexity. In: Proceedings of ICIME 2010, The 2nd IEEE International Conference on Information Management and Engineering, pp. 352–356, April 2010

    Google Scholar 

  23. van der Meulen, M., Revilla, M.: Correlations between internal software metrics and software dependability in a large population of small C/C++ programs. In: Proceedings of ISSRE 2007, The 18th IEEE International Symposium on Software Reliability, pp. 203–208, November 2007

    Google Scholar 

  24. MacDonell, S.: Metrics for database systems: an empirical study. In: IEEE International Symposium on Software Metrics, pp. 99–107 (1997)

    Google Scholar 

  25. Valente, M.T., Borges, V., Passos, L.: A semi-automatic approach for extracting software product lines. IEEE Trans. Softw. Eng. 38(4), 737–754 (2012)

    Article  Google Scholar 

  26. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Multi-objective reverse engineering of variability-safe feature models based on code dependencies of system variants. Empir. Softw. Eng. 22(4), 1763–1794 (2017)

    Article  Google Scholar 

  27. Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: Reverse engineering feature models from programs’ feature sets. In: 18th Working Conference on Reverse Engineering, pp. 308–312. IEEE, October 2011

    Google Scholar 

  28. Lima, C., Chavez, C., de Almeida, E.S.: Investigating the recovery of product line architectures: an approach proposal. In: Botterweck, G., Werner, C. (eds.) ICSR 2017. LNCS, vol. 10221, pp. 201–207. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56856-0_15

    Chapter  Google Scholar 

  29. Krüger, J., Fenske, W., Meinicke, J., Leich, T., Saake, G.: Extracting software product lines: a cost estimation perspective. In: Proceedings of the 20th International Systems and Software Product Line Conference on - SPLC 2016, pp. 354–361. ACM Press, New York (2016)

    Google Scholar 

  30. She, S., Lotufo, R., Berger, T., Wa̧sowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceeding of the 33rd International Conference on Software Engineering - ICSE 2011, p. 461. ACM Press, New York (2011)

    Google Scholar 

  31. Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46020-9_5

    Chapter  Google Scholar 

  32. Baresi, L., Quinton, C.: Dynamically evolving the structural variability of dynamic software product lines. In: 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2015)

    Google Scholar 

  33. Bashari, M., Bagheri, E., Du, W.: Dynamic software product line engineering: a reference framework. Int. J. Softw. Eng. Knowl. Eng. 27(02), 191–234 (2017)

    Article  Google Scholar 

  34. Capilla, R., Bosch, J., Trinidad, P., Ruiz-Cortés, A., Hinchey, M.: An overview of dynamic software product line architectures and techniques: observations from research and industry. J. Syst. Softw. 91(1), 3–23 (2014)

    Article  Google Scholar 

  35. Uchôa, A.G., Bezerra, C.I.M., Machado, I.C., Monteiro, J.M., Andrade, R.M.C.: ReMINDER: an approach to modeling non-functional properties in dynamic software product lines. In: Botterweck, G., Werner, C. (eds.) ICSR 2017. LNCS, vol. 10221, pp. 65–73. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56856-0_5

    Chapter  Google Scholar 

Download references

Acknowledgements

The project has been supported by the European Union, co-financed by the European Social Fund (EFOP-3.6.3-VEKOP-16-2017-00002). We acknowledge the help of Magic experts of the SZEGED Software Llc.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to András Kicsi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kicsi, A., Csuvik, V., Vidács, L., Beszédes, Á., Gyimóthy, T. (2018). Feature Level Complexity and Coupling Analysis in 4GL Systems. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2018. ICCSA 2018. Lecture Notes in Computer Science(), vol 10964. Springer, Cham. https://doi.org/10.1007/978-3-319-95174-4_35

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-95174-4_35

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-95173-7

  • Online ISBN: 978-3-319-95174-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics