• DocumentCode
    2074870
  • Title

    Identifying crosscutting concerns using historical code changes

  • Author

    Adams, Bram ; Jiang, Zhen Ming ; Hassan, Ahmed E.

  • Author_Institution
    Software Anal. & Intell. Lab. (SAIL), Queen´´s Univ., Kingston, ON, Canada
  • Volume
    1
  • fYear
    2010
  • fDate
    2-8 May 2010
  • Firstpage
    305
  • Lastpage
    314
  • Abstract
    Detailed knowledge about implemented concerns in the source code is crucial for the cost-effective maintenance and successful evolution of large systems. Concern mining techniques can automatically suggest sets of related code fragments that likely contribute to the implementation of a concern. However, developers must then spend considerable time understanding and expanding these concern seeds to obtain the full concern implementation. We propose a new mining technique (COMMIT) that reduces this manual effort. COMMIT addresses three major shortcomings of current concern mining techniques: 1) their inability to merge seeds with small variations, 2) their tendency to ignore important facets of concerns, and 3) their lack of information about the relations between seeds. A comparative case study on two large open source C systems (Post-greSQL and NetBSD) shows that COMMIT recovers up to 87.5% more unique concerns than two leading concern mining techniques, and that the three techniques complement each other.
  • Keywords
    C language; data mining; public domain software; software maintenance; COMMIT; concern mining techniques; cost-effective maintenance; crosscutting concerns; historical code; open source C systems; Data mining; Maintenance engineering; Mutual information; Scattering; Servers; Software; Synchronization; concern mining; empirical research; mining software repositories;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2010 ACM/IEEE 32nd International Conference on
  • Conference_Location
    Cape Town
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-60558-719-6
  • Type

    conf

  • DOI
    10.1145/1806799.1806846
  • Filename
    6062098