UDC 659.2:004, DOI:10.2298/CSIS090315004D

Metrics for Evaluation of Metaprogram Complexity

Robertas Damaševičius1 and Vytautas Štuikys1

  1. Kaunas University of Technology, Software Engineering Department
    Studentu 50, LT-51368, Kaunas, Lithuania
    {robertas.damasevicius, vytautas.stuikys}@ktu.lt

Abstract

The concept of complexity is used in many areas of computer science and software engineering. Software complexity metrics can be used to evaluate and compare quality of software development and maintenance processes and their products. Complexity management and measurement is especially important in novel programming technologies and paradigms, such as aspect-oriented programming, generative programming, and metaprogramming, where complex multi-language and multi-aspect program specifications are developed and used. This paper analyzes complexity management and measurement techniques, and proposes five complexity metrics (Relative Kolmogorov Complexity, Metalanguage Richness, Cyclomatic Complexity, Normalized Difficulty, Cognitive Difficulty) for measuring complexity of metaprograms at information, metalanguage, graph, algorithm, and cognitive dimensions.

Key words

Metaprogramming, complexity evaluation, metaprogram metric

Digital Object Identifier (DOI)

https://doi.org/10.2298/CSIS090315004D

Publication information

Volume 7, Issue 4 (December 2010)
Year of Publication: 2010
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Damaševičius, R., Štuikys, V.: Metrics for Evaluation of Metaprogram Complexity. Computer Science and Information Systems, Vol. 7, No. 4, 769-787. (2010), https://doi.org/10.2298/CSIS090315004D