Renaming Global Variables in C Mechanically Proved Correct

Julien Cohen
(Université de Nantes)

Most integrated development environments are shipped with refactoring tools. However, their refactoring operations are often known to be unreliable. As a consequence, developers have to test their code after applying an automatic refactoring. In this article, we consider a refactoring operation (renaming of global variables in C), and we prove that its core implementation preserves the set of possible behaviors of transformed programs. That proof of correctness relies on the operational semantics of C provided by CompCert C in Coq.

In Geoff Hamilton, Alexei Lisitsa and Andrei P. Nemytykh: Proceedings of the Fourth International Workshop on Verification and Program Transformation (VPT 2016), Eindhoven, The Netherlands, 2nd April 2016, Electronic Proceedings in Theoretical Computer Science 216, pp. 50–64.
Published: 6th July 2016.

ArXived at: http://dx.doi.org/10.4204/EPTCS.216.3 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org