The University of Arizona

Events & News


DateFriday, May 14, 2010
Time10:00 am
LocationGS 906
SpeakerWill Evans
AffiliationUniversity of British Columbia

Clone Detection via Structural Abstraction

Abstract: Software clones are repeated fragments of code. They arise, for
example, when one uses a copy-paste programming style and they create problems for software maintenance, clarity, and ownership. Finding and removing or updating clones can help solve these problems. Rewriting them as a single procedure, called procedural abstraction, can help reduce the size of a program. I will talk about a tool, called Asta, that finds clones that are not identical but,nonetheless, can be abstracted as procedures. The procedure for a set of clones may take different parameters in order to represent all of the clones in the set. These parameters may be structural rather than simply lexical. Asta finds these types of clones by looking for repeated subtrees in the abstract syntax tree of the program.