Yi Li bio photo

Yi Li

Associate Professor

School of Computer Science and Engineering (SCSE)
Nanyang Technological University (NTU)

Address: Block N4-02b-63
50 Nanyang Avenue, Singapore 639798
Phone: +65 6790 4287

Email Twitter LinkedIn GitHub Bitbucket Google Scholar ORCID

Managing Software Evolution through Semantic History Slicing

Yi Li

In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), 2017

Abstract: Software change histories are results of incremental updates made by developers. As a side-effect of the software development process, version history is a surprisingly useful source of information for understanding, maintaining and reusing software. However, traditional commit-based sequential organization of version histories lacks semantic structure and thus are insufficient for many development tasks that require high-level, semantic understanding of program functionality, such as locating feature implementations and porting hot fixes. In this work, we propose to use well-organized unit tests as identifiers for corresponding software functionalities. We then present a family of automated techniques which analyze the semantics of historical changes and assist developers in many everyday practical settings. For validation, we evaluate our approaches on a benchmark of developer-annotated version history instances obtained from real-world open source software projects on GitHub.

Cite:

@inproceedings{Li2017MSE,
  author = {Li, Yi},
  booktitle = {Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)},
  month = oct,
  pages = {1014--1017},
  title = {Managing Software Evolution through Semantic History Slicing},
  year = {2017}
}
Paper Slides