Electronic Proceedings in Theoretical Computer Science · 2016 · 36 citations · 15 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringControl-flow AnalysisData-flow AnalysisSoftware RefactoringType CheckingAutomated RefactoringIntegrated Development EnvironmentsOperational SemanticsProgram TransformationRefactoringRefactoring OperationsRefactoring VerificationStructural Operational Semantics
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.
15
Frank Pfenning, Conal Elliott · ACM SIGPLAN Notices · 1988 · 587 citations · Full text
Mechanized Semantics for the Clight Subset of the C Language
Sandrine Blazy · 2009 · 131 citations
Static composition of refactorings
Günter Kniesel, Helge Koch · Science of Computer Programming · 2004 · 97 citations
Refactoring browser with preprocessor
Marian Vittek · 2003 · 57 citations