Understanding systematic and collaborative code changes by mining evolutionary trajectory patterns. Issue 3 (26th January 2017)
- Record Type:
- Journal Article
- Title:
- Understanding systematic and collaborative code changes by mining evolutionary trajectory patterns. Issue 3 (26th January 2017)
- Main Title:
- Understanding systematic and collaborative code changes by mining evolutionary trajectory patterns
- Authors:
- Jiang, Qingtao
Peng, Xin
Wang, Hai
Xing, Zhenchang
Zhao, Wenyun - Other Names:
- Serebrenik Alexander guestEditor.
Adams Bram guestEditor. - Abstract:
- Abstract: The life cycle of a large‐scale software system can undergo many releases. Each release often involves hundreds or thousands of revisions committed by many developers over time. Many code changes are made in a systematic and collaborative way. However, such systematic and collaborative code changes are often undocumented and hidden in the evolution history of a software system. It is desirable to recover commonalities and associations among dispersed code changes in the evolutionary trajectory of a software system. In this paper, we present Summarizing Evolutionary Trajectory by Grouping and Aggregation (SETGA), an approach to summarizing historical commit records as trajectory patterns by grouping and aggregating relevant code changes committed over time. The SETGA extracts change operations from a series of commit records from version control systems. It then groups extracted change operations by their common properties from different dimensions such as change operation types, developers, and change locations. After that, SETGA aggregates relevant change operation groups by mining various associations among them. We implement SETGA and conduct an empirical study with 3 open‐source systems. We investigate underlying evolution rules and problems that can be revealed by the identified patterns and analyze the evolution of trajectory patterns in different periods. The results show that SETGA can identify various types of trajectory patterns that are useful forAbstract: The life cycle of a large‐scale software system can undergo many releases. Each release often involves hundreds or thousands of revisions committed by many developers over time. Many code changes are made in a systematic and collaborative way. However, such systematic and collaborative code changes are often undocumented and hidden in the evolution history of a software system. It is desirable to recover commonalities and associations among dispersed code changes in the evolutionary trajectory of a software system. In this paper, we present Summarizing Evolutionary Trajectory by Grouping and Aggregation (SETGA), an approach to summarizing historical commit records as trajectory patterns by grouping and aggregating relevant code changes committed over time. The SETGA extracts change operations from a series of commit records from version control systems. It then groups extracted change operations by their common properties from different dimensions such as change operation types, developers, and change locations. After that, SETGA aggregates relevant change operation groups by mining various associations among them. We implement SETGA and conduct an empirical study with 3 open‐source systems. We investigate underlying evolution rules and problems that can be revealed by the identified patterns and analyze the evolution of trajectory patterns in different periods. The results show that SETGA can identify various types of trajectory patterns that are useful for software evolution management and quality assurance. Abstract : Code changes are made in a systematic and collaborative way, and individual code changes are often an integral part of high‐level changes. Historical commit records can be summarized as trajectory patterns by grouping and aggregating relevant code changes committed over time. Trajectory patterns can reveal various underlying evolution rules and problems that are useful for software evolution management and quality assurance. … (more)
- Is Part Of:
- Journal of software. Volume 29:Issue 3(2017)
- Journal:
- Journal of software
- Issue:
- Volume 29:Issue 3(2017)
- Issue Display:
- Volume 29, Issue 3 (2017)
- Year:
- 2017
- Volume:
- 29
- Issue:
- 3
- Issue Sort Value:
- 2017-0029-0003-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2017-01-26
- Subjects:
- code change -- evolution -- mining -- pattern -- version control system
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.1840 ↗
- 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:
- 399.xml