{"title":"Discovering Aspects through Analyzing Code Changes in Software Development Histories","authors":"Cheng-Zhe Li, Kuo-Hsun Hsu, Guan-Yu Chen","doi":"10.1109/ICEBE.2015.58","DOIUrl":null,"url":null,"abstract":"Aspect-Oriented Programming (AOP) aims to address the scattering and tangling of cross-cutting concerns in a system. Many aspect mining techniques are proposed based on the concepts that concerns crosscut other modules of a system. Most of these researches targeted on a single version during the development of a software system. However, it is also possible that the difference between versions during the development of a software system may also be a source of aspects. In this paper, we propose to discover aspect candidates through the analysis of a series of versions of a software system. A supporting tool, AMTV (Aspect-Mining Tool among Versions), is also developed based on the fan-in metric to identify aspect candidates across multiple versions of a software system. An experiment of applying the proposed approach is conducted to a software system JHot Draw, and the results show that eight kinds of aspect candidates may appear during the development of a software system. At last, several advices are given to programmers as a reference for dealing with aspects while developing a software system using aspect-oriented development paradigm.","PeriodicalId":153535,"journal":{"name":"2015 IEEE 12th International Conference on e-Business Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE 12th International Conference on e-Business Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICEBE.2015.58","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Aspect-Oriented Programming (AOP) aims to address the scattering and tangling of cross-cutting concerns in a system. Many aspect mining techniques are proposed based on the concepts that concerns crosscut other modules of a system. Most of these researches targeted on a single version during the development of a software system. However, it is also possible that the difference between versions during the development of a software system may also be a source of aspects. In this paper, we propose to discover aspect candidates through the analysis of a series of versions of a software system. A supporting tool, AMTV (Aspect-Mining Tool among Versions), is also developed based on the fan-in metric to identify aspect candidates across multiple versions of a software system. An experiment of applying the proposed approach is conducted to a software system JHot Draw, and the results show that eight kinds of aspect candidates may appear during the development of a software system. At last, several advices are given to programmers as a reference for dealing with aspects while developing a software system using aspect-oriented development paradigm.