Toward a Code-Clone Search through the Entire Lifecycle of a Software Product - Kamiya, Toshihiro (Electronic Communications of the EASST, 2014)
This paper presents a clone-detection method/tool currently under devel- opment. This tool is useful as a code-clone search through the entire lifecycle of a software product; The tool searches code examples and analyzes of code clones in both preventive and postmortem ways[LRHK10]. The approach is based on a sequence equivalence on execution paths[Kam13] and extends the equivalence to include gaps, thus type-3[BKA + 07] clone detection. Each of the detected clones is a sub-sequence of an execution path of a given program, in other words, a set of code fragments of multiple procedures (methods) which can be executed in a run of the program. The approach is relaxed in terms of adaptability to incomplete (not-yet- finished) code, but also makes use of concrete information such as types (including hierarchy) and dynamic dispatch when such information is available.