JSCTracker: A Tool and Algorithm for Semantic Method Clone Detection Using Method IOE-Behavior by Rochelle Elva and Gary T. Leavens Abstract This paper presents a tool and algorithm for the automated detection of functionally identical Java methods, which we call semantic clones. The detection algorithm offers improvements in asymptotic computational complexity over existing algorithms. This is achieved by combining the benefits of static and dynamic analysis. Our static analysis of a method's type (return type and parameter list) and effects (persistent changes to the heap) provides a double pre-filter, to reduce the size of the candidate clone set to be evaluated by expensive dynamic tests. Together, these two types of analyses provide the information on a method's input, output and effects, collectively referred to as its IOE-behavior, which we use to identify semantic equivalence. The tool was tested on 6 open source Java projects ranging in size from about 17 kLOC to 78 kLOC. Our filters reduced the number of required dynamic tests by an average of 91%. Keywords: Automated semantic clone detection tools, semantic method clones, method IOE-behavior, clone detection, JSCTracker. 2012 CR Categories: D.2.0 [Software Engineering] General --- languages, tools, JSCTracker.