Clone Detection via Structural Abstraction

486
23.1
Опубликовано 17 августа 2016, 2:45
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. Joint work with Christopher W. Fraser and Fei Ma
автотехномузыкадетское