Challenge proposal

Max Schäfer, Torbjörn Ekman, Oege de Moor
2008 Proceedings of the 3rd workshop on Programming languages meets program verification - PLPV '09  
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
more » ... s 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.
doi:10.1145/1481848.1481859 dblp:conf/plpv/SchaferEM09 fatcat:e66bjrk4rjhcnhqzb4dmtznmpi