DeepAI AI Chat
Log In Sign Up

Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study

08/24/2017
by   Dániel Horpácsi, et al.
Eötvös Loránd University
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

04/22/2021

Cameleer: a Deductive Verification Tool for OCaml

OCaml is particularly well-fitted for formal verification. On one hand, ...
05/17/2021

A Coupled Alpha Complex

The alpha complex is a subset of the Delaunay triangulation and is often...
02/06/2018

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

Verification of functional correctness of control programs is an essenti...
06/26/2018

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

Usage control models provide an integration of access control, digital r...
10/05/2021

Deductive Verification of Programs with Underspecified Semantics by Model Extraction

We present a novel and well automatable approach to formal verification ...
05/24/2020

A Proof Assistant Based Formalisation of Core Erlang

Our research is part of a wider project that aims to investigate and rea...
03/06/2023

Using Spoofax to Support Online Code Navigation

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