SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The Java Language Specification
The Java Language Specification
Information and Computation - FOOL VII
Journal of Functional Programming
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
Automated soundness proofs for dataflow analyses and transformations via local rules
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Specification and Verification of Java Refactorings
SCAM '06 Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation
Modelchecking Correctness of Refactorings - Some Experiments
Electronic Notes in Theoretical Computer Science (ENTCS)
Circular reference attributed grammars — their evaluation and applications
Science of Computer Programming
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Mechanical verification of refactorings
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Sound and extensible renaming for java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Refactoring is not (yet) about transformation
Proceedings of the 2nd Workshop on Refactoring Tools
Formal verification of a c compiler front-end
FM'06 Proceedings of the 14th international conference on Formal Methods
Safira: a tool for evaluating behavior preservation
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Refactoring and representation independence for class hierarchies
Theoretical Computer Science
Automated behavioral testing of refactoring engines
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Automated behavioral testing of refactoring engines
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Comparing approaches to analyze refactoring activity on software repositories
Journal of Systems and Software
Science of Computer Programming
Hi-index | 0.00 |
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.