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.