Skip to main content

Automated Transplantation of Call Graph and Layout Features into Kate

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9275))

Abstract

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 transplantation. The results are promising: on average, our tool requires 101 min of standard desktop machine time to transplant the call graph feature, and 31 min 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, \(\mu \) Scalpel, was able to successfully transplant the new functionality, passing all tests.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://kate-editor.org.

  2. 2.

    http://gnu.org/software/cflow.

  3. 3.

    http://gnu.org/software/indent.

  4. 4.

    https://techbase.kde.org/Development/Tutorials/Kate/KTextEditor_Plugins.

References

  1. Barr, E.T., Harman, M., Jia, Y., Marginean, A., Petke, J.: \(\mu \)SCALPEL (2014). http://crest.cs.ucl.ac.uk/autotransplantation/MuScalpel.html

  2. Barr, E.T., Harman, M., Jia, Y., Marginean, A., Petke, J.: Automated software transplantation. In: ISSTA (2015, to appear)

    Google Scholar 

  3. Bruce, B., Petke, J., Harman, M.: Reducing energy consumption using genetic improvement. In: GECCO 2015 (2015)

    Google Scholar 

  4. Cadar, C., Sen, K.: Symbolic execution for software testing: three decades later. CACM 56(2), 82–90 (2013)

    Article  Google Scholar 

  5. Harman, M., Jia, Y., Zhang, Y.: Achievements, open problems and challenges for search based software testing (keynote). In: ICST (2015)

    Google Scholar 

  6. Harman, M., Jia, Y., Langdon, W.B.: Babel Pidgin: SBSE can grow and graft entirely new functionality into a real world system. In: Le Goues, C., Yoo, S. (eds.) SSBSE 2014. LNCS, vol. 8636, pp. 247–252. Springer, Heidelberg (2014)

    Google Scholar 

  7. Harman, M., Langdon, W.B., Weimer, W.: Genetic programming for reverse engineering (keynote paper). In: WCRE (2013)

    Google Scholar 

  8. Langdon, W.B., Harman, M.: Evolving a CUDA kernel from an nVidia template. In: IEEE CEC (2010)

    Google Scholar 

  9. Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. TEVC 19(1), 118–135 (2015)

    Google Scholar 

  10. Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. SQJ 21(3), 421–443 (2013)

    Google Scholar 

  11. Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Using genetic improvement & code transplants to specialise a C++ program to a problem class. In: EuroGP (2014)

    Google Scholar 

  12. Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008). published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk

  13. Schulte, E., Dorn, J., Harding, S., Forrest, S., Weimer, W.: Post-compiler software optimization for reducing energy. In: ASPLOS, pp. 639–652 (2014)

    Google Scholar 

  14. Sidiroglou-Douskos, S., Misailovic, S., Hoffmann, H., Rinard, M.C.: Managing performance vs. accuracy trade-offs with loop perforation. In: FSE, pp. 124–134 (2011)

    Google Scholar 

  15. Sitthi-amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. ACM TOG 30(6), 152:1–152:11 (2011)

    Article  Google Scholar 

  16. Wu, F., Harman, M., Jia, Y., Krinke, J., Weimer, W.: Deep parameter optimisation. In: GECCO 2015 (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexandru Marginean .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Marginean, A., Barr, E.T., Harman, M., Jia, Y. (2015). Automated Transplantation of Call Graph and Layout Features into Kate. In: Barros, M., Labiche, Y. (eds) Search-Based Software Engineering. SSBSE 2015. Lecture Notes in Computer Science(), vol 9275. Springer, Cham. https://doi.org/10.1007/978-3-319-22183-0_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22183-0_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22182-3

  • Online ISBN: 978-3-319-22183-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics