Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation 2008
DOI: 10.1145/1328408.1328417
|View full text |Cite
|
Sign up to set email alerts
|

Mechanical verification of refactorings

Abstract: viAcknowledgements vii Preliminaries 1

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
13
0

Year Published

2010
2010
2022
2022

Publication Types

Select...
5
2
1

Relationship

4
4

Authors

Journals

citations
Cited by 22 publications
(13 citation statements)
references
References 45 publications
0
13
0
Order By: Relevance
“…However, neither of them provides formally verified or executable definitions. There are some results [19] in defining provably correct refactorings for simple languages, some mechanised proofs even for real-world refactorings [6] are available, but none of these allow for defining custom transformations and provide automatic verification for those.…”
Section: Verified Refactoringmentioning
confidence: 99%
“…However, neither of them provides formally verified or executable definitions. There are some results [19] in defining provably correct refactorings for simple languages, some mechanised proofs even for real-world refactorings [6] are available, but none of these allow for defining custom transformations and provide automatic verification for those.…”
Section: Verified Refactoringmentioning
confidence: 99%
“…Also for Erlang, Li [12] defines an API for describing microrefactorings and a feature-rich language for composition, but formal verification is not addressed. There are some results [21] in defining provably correct refactorings for simple languages, but for real-world cases, the question is still open. Our work aims to take a significant step further, and offers not only refactoring-specific proofs, but a generic verification technique for custom-defined transformations.…”
Section: Related Workmentioning
confidence: 99%
“…For the pure subsets of languages at least, it is possible to test refactorings by randomly generating programs in the languages, refactoring them randomly, and then testing the results of old and new versions on randomly generated inputs. 4 The relative simplicity of the semantics of the languages makes implementation more straightforward, and also admits the possibility, in principle at least, of proving the implementations of refactorings correct, as discussed in Sultana & Thompson (2008). 5 Other advantages apply only to particular languages.…”
Section: What Is Distinctively Functional?mentioning
confidence: 99%