DeepAI AI Chat
Log In Sign Up

Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study

by   Dániel Horpácsi, et al.
Eötvös Loránd University

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true confidence in applying tool-automated refactoring to industrial-scale code. By using our strategic rewriting based refactoring specification language, we present the decomposition of a complex transformation into smaller steps that can be expressed as instances of refactoring schemes, then we demonstrate the semi-automatic formal verification of the components based on a theoretical understanding of the semantics of the programming language. The extensible and verifiable refactoring definitions can be executed in our interpreter built on top of a static analyser framework.


page 1

page 2

page 3

page 4


Cameleer: a Deductive Verification Tool for OCaml

OCaml is particularly well-fitted for formal verification. On one hand, ...

A Coupled Alpha Complex

The alpha complex is a subset of the Delaunay triangulation and is often...

Formal Verification of Spacecraft Control Programs Using a Metalanguage for State Transformers

Verification of functional correctness of control programs is an essenti...

Formal Verification of Usage Control Models: A Case Study of UseCON Using TLA+

Usage control models provide an integration of access control, digital r...

Deductive Verification of Programs with Underspecified Semantics by Model Extraction

We present a novel and well automatable approach to formal verification ...

A Proof Assistant Based Formalisation of Core Erlang

Our research is part of a wider project that aims to investigate and rea...

Using Spoofax to Support Online Code Navigation

Spoofax is a language workbench. A Spoofax language specification genera...