Traditional commit-based sequential organization of software version histories is insufficient for many development tasks which require high-level, semantic understanding of program functionality, such as porting features or cutting new releases. Semantic history slicing is a technique which uses well-organized unit tests as identi ers for corresponding software functionalities and extracts a set of commits that correspond to a specific high-level functionality.
In this paper, we present CSlicerCloud [1], a Web-based semantic history slicing service tailored for Java projects hosted on GitHub. It is accessible through Web browsers and powered in the backend by a collection of history slicing techniques underneath. We evaluated CSlicerCloud on a dataset containing developer-annotated change histories collected from 10 open source software projects. A video demonstration which showcases the main features of CSlicerCloud can be found below.
CSlicerCloud Demo Video
References
- Li, Y., Zhu, C., Rubin, J., & Chechik, M. (2018). CSlicerCloud: A Web-Based Semantic History Slicing Framework. Proceedings of the 40th International Conference on Software Engineering (ICSE), 57–60.