On the role of composition code properties on evolving programs (bibtex)
by Dantas, Francisco, Garcia, Alessandro and Whittle, Jon
Abstract:
Composition code defines the binding of two or more modules in a program. Post object-oriented programming techniques are increasingly providing expressive mechanisms to enable the flexible definition of composition code. Such composition mechanisms are intended to support programmers in factoring out the complexity of a program and facilitate its evolution. However, the properties of composition code might introduce new flavours of complexity, and in turn cause side effects on program evolvability. Unfortunately, the role of composition code properties on evolving software systems is not yet well understood. This gap is mostly due to the lack of a measurement framework to characterize and quantify composition code. Existing metrics suites are focused on quantifying properties of programs and their modules only. Therefore, programmers are not able to analyse and understand the impact of particular composition properties on program evolvability. This paper presents a framework aimed at characterizing and computing composition code properties. The proposed framework consists of terminology and a metrics suite, which can be used in programs structured with diverse sets of composition mechanisms. We also empirically studied the role of the measurement framework through 22 versions of 4 software projects. Our evaluation revealed that the measurement framework provided consistent indicators of program instabilities observed in history of the evolving compositions.
Reference:
On the role of composition code properties on evolving programs (Dantas, Francisco, Garcia, Alessandro and Whittle, Jon), In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement - ESEM '12, 2012.
Bibtex Entry:
@inproceedings{Dantas2012,
abstract = {Composition code defines the binding of two or more modules in a program. Post object-oriented programming techniques are increasingly providing expressive mechanisms to enable the flexible definition of composition code. Such composition mechanisms are intended to support programmers in factoring out the complexity of a program and facilitate its evolution. However, the properties of composition code might introduce new flavours of complexity, and in turn cause side effects on program evolvability. Unfortunately, the role of composition code properties on evolving software systems is not yet well understood. This gap is mostly due to the lack of a measurement framework to characterize and quantify composition code. Existing metrics suites are focused on quantifying properties of programs and their modules only. Therefore, programmers are not able to analyse and understand the impact of particular composition properties on program evolvability. This paper presents a framework aimed at characterizing and computing composition code properties. The proposed framework consists of terminology and a metrics suite, which can be used in programs structured with diverse sets of composition mechanisms. We also empirically studied the role of the measurement framework through 22 versions of 4 software projects. Our evaluation revealed that the measurement framework provided consistent indicators of program instabilities observed in history of the evolving compositions.},
author = {Dantas, Francisco and Garcia, Alessandro and Whittle, Jon},
booktitle = {Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement - ESEM '12},
doi = {10.1145/2372251.2372304},
isbn = {9781450310567},
issn = {1938-6451},
keywords = {cocome_lit-review,object-oriented programming;software metrics;composition code property;composition mechanism;measurement framework;object-oriented programming technique;program complexity;program evolution;program evolvability;program instability;software project;Complexity theory;Java;Measurement;Programming;Software;Stability analysis;Terminology;Composition mechanisms;program evolution;software metrics;software stability},
mendeley-tags = {cocome_lit-review},
pages = {291},
title = {{On the role of composition code properties on evolving programs}},
url = {http://dl.acm.org/citation.cfm?doid=2372251.2372304},
year = {2012}
}
Powered by bibtexbrowser