On the interplay between structural and logical dependencies in open-source software

Gustavo Ansaldi Oliva, Marco Aurélio Gerosa

Research output: Chapter in Book/Report/Conference proceedingConference contribution

24 Scopus citations

Abstract

Structural dependencies have long been explored in the context of software quality. More recently, software evolution researchers have investigated logical dependencies between artifacts to assess failure-proneness, detect design issues, infer code decay, and predict likely changes. However, the interplay between these two kinds of dependencies is still obscure. By mining 150 thousand commits from the Apache Software Foundation repository and employing object-oriented metrics reference values, we concluded that 91% of all established logical dependencies involve non-structurally related artifacts. Furthermore, we found some evidence that structural dependencies do not lead to logical dependencies in most situations. These results suggest that dependency management methods and tools should rely on both kinds of dependencies, since they represent different dimensions of software evolvability.

Original languageEnglish (US)
Title of host publicationProceedings - 25th Brazilian Symposium on Software Engineering, SBES 2011
Pages144-153
Number of pages10
DOIs
StatePublished - 2011
Externally publishedYes
Event25th Brazilian Symposium on Software Engineering, SBES 2011 - Sao Paulo, Brazil
Duration: Sep 28 2011Sep 30 2011

Publication series

NameProceedings - 25th Brazilian Symposium on Software Engineering, SBES 2011

Conference

Conference25th Brazilian Symposium on Software Engineering, SBES 2011
Country/TerritoryBrazil
CitySao Paulo
Period9/28/119/30/11

Keywords

  • dependency management
  • logical coupling
  • logical dependencies
  • mining software repositories
  • software evolution
  • structural analysis
  • structural coupling
  • structural dependencies

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'On the interplay between structural and logical dependencies in open-source software'. Together they form a unique fingerprint.

Cite this