Challenge proposal: verification of refactorings

  • Authors:
  • Max Schäfer;Torbjörn Ekman;Oege de Moor

  • Affiliations:
  • Oxford University Computing Laboratory, Oxford, United Kingdom;Oxford University Computing Laboratory, Oxford, United Kingdom;Oxford University Computing Laboratory, Oxford, United Kingdom

  • Venue:
  • Proceedings of the 3rd workshop on Programming languages meets program verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automated refactoring tools are an essential part of a software developer's toolbox. They are most useful for gradually improving large existing code bases and it is essential that they work reliably, since even a simple refactoring may affect many different parts of a program, and the programmer should not have to inspect every individual change to ensure that the transformation went as expected. Even extensively tested industrial-strength refactoring engines, however, are fraught with many bugs that lead to incorrect, non-behaviour preserving transformations. We argue that software refactoring tools are a prime candidate for mechanical verification, offering significant challenges but also the prospect of tangible benefits for real-world software development.