Source Code Rejuvenation Is Not Refactoring

  • Peter Pirkelbauer
  • Damian Dechev
  • Bjarne Stroustrup
Conference paper

DOI: 10.1007/978-3-642-11266-9_53

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5901)
Cite this paper as:
Pirkelbauer P., Dechev D., Stroustrup B. (2010) Source Code Rejuvenation Is Not Refactoring. In: van Leeuwen J., Muscholl A., Peleg D., Pokorný J., Rumpe B. (eds) SOFSEM 2010: Theory and Practice of Computer Science. SOFSEM 2010. Lecture Notes in Computer Science, vol 5901. Springer, Berlin, Heidelberg

Abstract

Programmers rely on programming idioms, design patterns, and workaround techniques to make up for missing programming language support. Evolving languages often address frequently encountered problems by adding language and library support to subsequent releases. By using new features, programmers can express their intent more directly. As new concerns, such as parallelism or security, arise, early idioms and language facilities can become serious liabilities. Modern code sometimes benefits from optimization techniques not feasible for code that uses less expressive constructs. Manual source code migration is expensive, time-consuming, and prone to errors.

In this paper, we present the notion of source code rejuvenation, the automated migration of legacy code and very briefly mention the tools we use to achieve that. While refactoring improves structurally inadequate source code, source code rejuvenation leverages enhanced program language and library facilities by finding and replacing coding patterns that can be expressed through higher-level software abstractions. Raising the level of abstraction benefits software maintainability, security, and performance.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Peter Pirkelbauer
    • 1
  • Damian Dechev
    • 1
  • Bjarne Stroustrup
    • 1
  1. 1.Department of Computer Science and EngineeringTexas A&M UniversityCollege Station

Personalised recommendations