Identifying Implicit Architectural Dependencies using Measures of Source Code Change Waves
Paper i proceeding, 2013

The principles of Agile software development are increasingly used in large software development projects, e.g. using Scrum of Scrums or combining Agile and Lean development methods. When large software products are developed by self-organized, usually feature-oriented teams, there is a risk that architectural dependencies between software components become uncontrolled. In particular there is a risk that the prescriptive architecture models in form of diagrams are outdated and implicit architectural dependencies may become more frequent than the explicit ones. In this paper we present a method for automated discovery of potential dependencies between software components based on analyzing revision history of software repositories. The result of this method is a map of implicit dependencies which is used by architects in decisions on the evolution of the architecture. The software architects can assess the validity of the dependencies and can prevent unwanted component couplings and design erosion hence minimizing the risk of post-release quality problems. Our method was evaluated in a case study at one large product at Saab Electronic Defense Systems (Saab EDS) and one large software product at Ericsson AB.

case study

quality

industry

metric

architecture

measure

dependency

mining software repositories

Författare

Miroslaw Staron

Göteborgs universitet

Wilhelm Meding

Christoffer Höglund

Peter Ericsson

Jimmy Nilsson

Jörgen Hansson

Chalmers, Data- och informationsteknik, Software Engineering

39th Euromicro Conference Series on Software Engineering and Advanced Applications, SEAA 2013; Santander; Spain; 4 September 2013 through 6 September 2013

325-332

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1109/SEAA.2013.9

ISBN

978-07-69-55091-6