Semantic clone detection using method IOE-behavior
Rochelle Elva, Gary T. Leavens · International Workshop on Software Clones · 2012
This paper presents an algorithm for the detection of semantic clones in Java methods. Semantic clones are defined as functionally-identical code fragments. Our detection process operates on the premise that if two code fragments are semantic clones, then their input-output behavior would be identical. We adopt a wholistic approach to the definition of input-output behavior by including not only the parameters and return values of methods; but also their effects, as reflected in the pre- and post-states of the heap. We refer to this as a method's IOE-behavior (input, output and effects).