Refactoring tools are an important tool for developers, but their reliability can be questionable at times. In this paper, we show that it is feasible to formally verify refactoring tools using computer-aided proofs. To this end, we create a Haskell-like language and a refactoring operation on this language to add an extra function argument to an arbitrary function in the program. And finally, use the Agda proof assistant to construct a proof of the correctness of this refactoring.CSE3000 Research ProjectComputer Science and Engineerin
Refactoring is the process of redesigning existing code without changing its functionality. Refactor...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
The task of making changes to an existing code base to improve performance, legibility, or extensibi...
Refactoring is the process of changing the design of a program without changing what it does. Typica...
Refactoring is a useful tool for increasing the overall quality of software without making changes t...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Abstract: Refactoring is a technique for improving the design of existing pro-grams without changing...
Refactorings are source-to-source program transformations which change program structure and organis...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
Purely functional languages are advantageous in that it is easy to reason about the correctness of f...
Refactoring is the process of redesigning existing code without changing its functionality. Refactor...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
The task of making changes to an existing code base to improve performance, legibility, or extensibi...
Refactoring is the process of changing the design of a program without changing what it does. Typica...
Refactoring is a useful tool for increasing the overall quality of software without making changes t...
The paper surveys how software tools such as refactoring systems can be validated, and introduces a ...
Abstract: Refactoring is a technique for improving the design of existing pro-grams without changing...
Refactorings are source-to-source program transformations which change program structure and organis...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
Purely functional languages are advantageous in that it is easy to reason about the correctness of f...
Refactoring is the process of redesigning existing code without changing its functionality. Refactor...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...