• DocumentCode
    3694192
  • Title

    Developers´ perception of co-change patterns: An empirical study

  • Author

    Luciana L. Silva;Marco Tulio Valente;Marcelo de A. Maia;Nicolas Anquetil

  • Author_Institution
    Department of Computer Science, Federal University of Minas Gerais, Brazil
  • fYear
    2015
  • Firstpage
    21
  • Lastpage
    30
  • Abstract
    Co-change clusters are groups of classes that frequently change together. They are proposed as an alternative modular view, which can be used to assess the traditional decomposition of systems in packages. To investigate developer´s perception of co-change clusters, we report in this paper a study with experts on six systems, implemented in two languages. We mine 102 co-change clusters from the version history of such systems, which are classified in three patterns regarding their projection to the package structure: Encapsulated, Crosscutting, and Octopus. We then collect the perception of expert developers on such clusters, aiming to ask two central questions: (a) what concerns and changes are captured by the extracted clusters? (b) do the extracted clusters reveal design anomalies? We conclude that Encapsulated Clusters are often viewed as healthy designs and that Crosscutting Clusters tend to be associated to design anomalies. Octopus Clusters are normally associated to expected class distributions, which are not easy to implement in an encapsulated way, according to the interviewed developers.
  • Keywords
    "Clustering algorithms","Maintenance engineering","Pattern matching","Partitioning algorithms","Java","Open source software"
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
  • Type

    conf

  • DOI
    10.1109/ICSM.2015.7332448
  • Filename
    7332448