Detecting software modularity violations

  • Authors:
  • Sunny Wong;Yuanfang Cai;Miryung Kim;Michael Dalton

  • Affiliations:
  • Drexel University, Philadelphia, PA, USA;Drexel University, Philadelphia, PA, USA;The University of Texas at Austin, Austin, TX, USA;Drexel University, Philadelphia, PA, USA

  • Venue:
  • Proceedings of the 33rd International Conference on Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents Clio, an approach that detects modularity violations, which can cause software defects, modularity decay, or expensive refactorings. Clio computes the discrepancies between how components should change together based on the modular structure, and how components actually change together as revealed in version history. We evaluated Clio using 15 releases of Hadoop Common and 10 releases of Eclipse JDT. The results show that hundreds of violations identified using Clio were indeed recognized as design problems or refactored by the developers in later versions. The identified violations exhibit multiple symptoms of poor design, some of which are not easily detectable using existing approaches.