Simultaneous Modification Support based on Code Clone Analysis
Simultaneous Modification Support based on Code Clone Analysis
复制标题
DOI:
10.1109/apsec.2007.83
复制
发表时间:
2007-12
期刊:
影响因子:
--
通讯作者:
Yoshiki Higo;Yasushi Ueda;S. Kusumoto;Katsuro Inoue
中科院分区:
文献类型:
--
作者:
Yoshiki Higo;Yasushi Ueda;S. Kusumoto;Katsuro Inoue
Maintaining software systems becomes more difficult as their size and complexity increase. One factor that makes software maintenance more difficult is the presence of code clones. A code clone is defined as a code fragment occurring more than once in identical or similar form into a software system. For example, the presence of code clones is a big factor of overlooking some places that should be modified simultaneously. One technique that helps the number of code clones is refactoring. There are several research efforts that provide support to refactor code clones, but unfortunately some code clones cannot or should not be refactored (ex. stereotyped process, absence of abstraction functionality, performance enhancement). In order to support maintaining the consistency among code clones, we propose a simultaneous modification support method. Given a software system, firstly, a maintainer identifies a code fragment that must be modified. Then, only the code clones between the identified code fragment and the source files of the software system are detected. We developed a simultaneous modification support tool, Libra, and applied it to open source software systems. The results showed that Libra was a good searching tool as much as grep, which is a useful tool of UNIX.