Web Analytics

Detection of Seed Methods for Quantification of Feature Confinement

Andrzej Olszak, a researcher from the University of Southern Denmark has visited SIG in May-July 2011. Together with researchers of SIG a heuristic for automatically detecting so-called 'seed-methods' in software systems was developed during his visit. These methods can be used to quantify the scattering of concerns within a software system, a measurement which is related to the amount of effort needed to adjust particular concerns within a system. Using this heuristic it becomes possible to define an automated and repeatable process for quantifying the scattering of concerns within a software system, a process which normally involves human intervention.
    
This paper gives an overview of the current approaches for quantifying scattering and provides details about the design and implementation of the approach. Additionally, two separate case-studies are presented to investigate the capabilities of the heuristic.

Detection of Seed Methods for Quantification of Feature Confinement

By:
Andrzej Olszak (University of Southern Denmark, Odense, Denmark)
Eric Bouwers (SIG)
Bo Nørregaard Jørgensen (University of Southern Denmark, Odense, Denmark)
Joost Visser (SIG)

In proceedings of the 50th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2012), 2012. Accepted in March 2012, and published in May 2012.

Abstract:
The way features are implemented in source code has a significant influence on multiple quality aspects of a software system. Hence, it is important to regularly evaluate the quality of feature confinement. Unfortunately, existing approaches to such measurement rely on expert judgement for tracing links between features and source code which hinders the ability to perform cost-efficient and consistent evaluations over time or on a large portfolio of systems.

In this paper, we propose an approach to automating measurement of feature confinement by detecting the methods which play a central role in implementations of features, the so-called 'seed methods', and using them as starting points for a static slicing algorithm. We show that this approach achieves the same level of performance compared to the use of manually identified seed methods. Furthermore we illustrate the scalability of the approach by tracking the evolution of feature scattering and tangling in an open-source project over a period of ten years.

Download publication:
Detection of Seed Methods for Quantification of Feature Confinement (PDF)

Copyright: © 2013 Software Improvement Group