Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution. Issue 10 (17th April 2018)
- Record Type:
- Journal Article
- Title:
- Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution. Issue 10 (17th April 2018)
- Main Title:
- Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution
- Authors:
- Chen, Zhiyuan
Kwon, Young‐Woo
Song, Myoungkyu - Abstract:
- Abstract : It has been broadly assumed that removing code clones by refactorings would solve the problems of code duplication. Despite recent empirical studies on the benefit of refactorings, contradicting evidence shows that it is often difficult or impossible to remove clones by using standard refactoring techniques. Developers cannot easily determine which clones can be refactored or how they should be maintained scattered throughout a large code base in evolving systems. We propose pattern‐based clone refactoring inspection (PRI), a technique for managing clone refactorings. PRI summarizes refactorings of clones and detects clones that are not consistently refactored. To help developers refactor these anomalies, PRI also visualizes clone evolution and refactorings and fixes refactoring anomalies to prevent the clone group from being left in an inconsistent state. We evaluated PRI on 6 open‐source projects and showed that it identifies clone refactorings with 94.1% accuracy and detects inconsistent refactorings with 98.4% accuracy, tracking clone change histories. In a study with 10 student developers, the participants reported that flexible PRI's summarization and detection features can be valuable for novice developers to learn about refactorings to clones. These results show that PRI should improve developer productivity in inspecting clone refactorings distributed across multiple files in evolving systems.
- Is Part Of:
- Journal of software. Volume 30:Issue 10(2018)
- Journal:
- Journal of software
- Issue:
- Volume 30:Issue 10(2018)
- Issue Display:
- Volume 30, Issue 10 (2018)
- Year:
- 2018
- Volume:
- 30
- Issue:
- 10
- Issue Sort Value:
- 2018-0030-0010-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2018-04-17
- Subjects:
- code clone -- refactoring -- software maintenance and evolution
Software engineering -- Periodicals
Computer software -- Development -- Periodicals
Software maintenance -- Periodicals
005.1 - Journal URLs:
- http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481 ↗
http://onlinelibrary.wiley.com/ ↗ - DOI:
- 10.1002/smr.1951 ↗
- Languages:
- English
- ISSNs:
- 2047-7473
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 8018.xml