Speaker: Shai Menaia, Academic College of Tel Aviv Yaffo

Title: Efficient Method Extraction for Automatic Elimination of Type-3 Clones

Abstract:
Software clones are typically created by copying, pasting, and modifying existing code fragments. Clones can be eliminated by extraction into new methods. Elimination of clones consisting of non-contiguous sets of statements, known as type-3 clones, requires an advanced form of method extraction. 
An effective approach to such method extraction, by Raghavan Komondoor, takes the form of an automatic, semantics-preserving program transformation.
Given a set of marked statements, the transformation prepares them for
extraction into a reusable method by moving unmarked statements to
either above or below the marked code. Some measures are taken to
ensure semantics preservation, such as the duplication of conditionals.
The original algorithm for performing this transformation is designed
with cubic time in the size of the transformed code. A new, asymptotically faster, algorithm is presented and evaluated on real type-3 clones in Java
code. The equivalence of the two algorithms is proved both formally and
empirically.