Automated Generalization and Refinement of Code Templates with Ekeko/X [article]

Tim Molderez, Coen De Roover
2016 Figshare  
Presentation given at the SANER'16 Tool demo trackAbstract -- Code templates are an intuitive means to specify source code snippets of interest, such as all instances of a bug, groups of snippets that need to be refactored or transformed, or instances of design patterns. While intuitive, it is not always straightforward to write a template that produces only the desired matches. A template could produce either more snippets than desired, or too few. To assist the users of Ekeko/X, our
more » ... ko/X, our template-based search and transformation tool for Java, we have extended it with two components: The first is a suite of mutation operators that simplifies the process of modifying templates. The second is a system that can automatically suggest a sequence of mutations to a given template, such that it matches only with a set of desired snippets. In this tool paper, we highlight the key design decisions in implementing these two components of Ekeko/X, and demonstrate their use by walking through an example sequence of mutations suggested by the system.
doi:10.6084/m9.figshare.3205951.v1 fatcat:wgjxe2hwbzhujly7rxul7yt6ve