Complexity Measures in 4GL Environment
Nowadays, the most popular programming languages are so-called third generation languages, such as Java, C# and C++, but higher level languages are also widely used for application development. Our work was motivated by the need for a quality assurance solution for a fourth generation language (4GL) called Magic. We realized that these very high level languages lie outside the main scope of recent static analysis techniques and researches, even though there is an increasing need for solutions in 4GL environment.
During the development of our quality assurance framework we faced many challenges in adapting metrics from popular 3GLs and defining new ones in 4GL context. Here we present our results and experiments focusing on the complexity of a 4GL system. We found that popular 3GL metrics can be easily adapted based on syntactic structure of a language, however it requires more complex solutions to define complexity metrics that are closer to developers’ opinion. The research was conducted in co-operation with a company where developers have been programming in Magic for more than a decade. As an outcome, the resulting metrics are used in a novel quality assurance framework based on the Columbus methodology.
Keywords4GL Magic software metrics software complexity software quality assurance
Unable to display preview. Download preview PDF.
- 1.IEEE Standard Glossary of Software Engineering Terminology. Tech. rep. (1990)Google Scholar
- 3.Bakota, T., Beszédes, Á., Ferenc, R., Gyimóthy, T.: Continuous software quality supervision using SourceInventory and Columbus. In: ICSE Companion, pp. 931–932 (2008)Google Scholar
- 11.McCabe, T.J.: A complexity measure. IEEE Transaction on Software Engineering SE-2(4) (December 1976)Google Scholar
- 12.van der Meulen, M.J.P., Revilla, M.A.: 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
- 13.Nagy, C.: MAGISTER: Quality assurance of magic applications for software developers and end users. In: Proceedings of ICSM 2010, 26th IEEE International Conference on Software Maintenance, pp. 1–6. IEEE Computer Society, Los Alamitos (2010)Google Scholar
- 14.Nagy, C.: 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. IEEE Computer Society, Los Alamitos (2011)Google Scholar
- 17.Witting, G.E., Finnie, G.R.: Using artificial neural networks and function points to estimate 4GL software development effort. Australasian Journal of Information Systems 1(2) (1994)Google Scholar
- 18.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