We report the automated transplantation of two features currently missing from Kate: call graph generation and automatic layout for C programs, which have been requested by users on the Kate development forum. Our approach uses a lightweight annotation system with Search Based techniques augmented by static analysis for automated transplanting. The results are promising: on average, our tool requires 101 minutes of standard desktop machine time to transplant the call graph feature, and 31 minutes to transplant the layout feature. We repeated each experiment 20 times and validated the resulting transplants using unit, regression and acceptance test suites. In 34 of 40 experiments conducted our search-based autotransplantation tool, MuScalpel , was able to successfully transplant the new functionality, passing all tests.
Our paper is available for download . This paper appeared in Symposium on Search-Based Software Engineering 2015.
In this paper, we illustrate the way in which realistic, scalable, and useful
real-world transplantation can be achieved using
MuScalpel. We apply our tool to the
Our second transplantation incorporates a pretty printer feature for C (from GNU Indent), which Kate only partially supports and which its users have requested. We deployed a new version of Kate that incorporates these features, as two distinct plugins.
The donor systems used in this experiments are available in the list below:
2014 © Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean, and Justyna Petke