A comparative revisitation of some program transformation techniques

Author(s):  
Alberto Pettorossi ◽  
Maurizio Proietti
10.29007/gpsh ◽  
2018 ◽  
Author(s):  
Abdulbasit Ahmed ◽  
Alexei Lisitsa ◽  
Andrei Nemytykh

It has been known for a while that program transformation techniques, in particular, program specialization, can be used to prove the properties of programs automatically. For example, if a program actually implements (in a given context of use) a constant function, sufficiently powerful and semantics preserving program transformation may reduce the program to a syntactically trivial ``constant'' program, pruning unreachable branches and proving thereby the property. Viability of such an approach to verification has been demonstrated in previous works where it was applied to the verification of parameterized cache coherence protocols and Petri Nets models.In this paper we further extend the method and present a case study on its appication to the verification of a cryptographic protocol. The protocol is modeled by functional programs at different levels of abstraction and verification via program specialization is done by using Turchin's supercompilation method.


2021 ◽  
Vol 31 ◽  
Author(s):  
ANDRZEJ FILINSKI

Abstract We show how to systematically derive an efficient regular expression (regex) matcher using a variety of program transformation techniques, but very little specialized formal language and automata theory. Starting from the standard specification of the set-theoretic semantics of regular expressions, we proceed via a continuation-based backtracking matcher, to a classical, table-driven state machine. All steps of the development are supported by self-contained (and machine-verified) equational correctness proofs.


2000 ◽  
Author(s):  
John Launchbury ◽  
Sava Krstic ◽  
Timothy E. Sauerwein

10.29007/hxgm ◽  
2018 ◽  
Author(s):  
Gavin Mendel-Gleason ◽  
Geoff Hamilton

It is possible to provide a proof for a coinductive type using a corecursive function coupled with a guardedness condition. The guardedness condition, however, is quite restrictive and many programs which are in fact productive and do not compromise soundness will be rejected. We present a system of cyclic proof for an extension of System $F$ extended with sums, products and (co)inductive types. Using program transformation techniques we are able to take some programs whose productivity is suspected and transform them, using a suitable theory of equivalence, into programs for which guardedness is syntactically apparent. The equivalence of the proof prior and subsequent to transformation is given by a bisimulation relation.


10.29007/75kg ◽  
2018 ◽  
Author(s):  
Nacera Djehaf ◽  
Matthieu Martel ◽  
Mikaël Barboteu

The purpose of this talk is primarily to introduce a new methodology to synthesize numerically accurate programs for the Gaussian elimination method in order to solve linear systems coming from mechanical problems. The synthesis is based on program transformation techniques and it is guided in its estimation of accuracy by interval arithmetic that computes the propagation of roundoff errors. Besides a discussion on numerical accuracy issues related to floating-points arithmetics and roundoff errors, we present our approach used to compute the error bound during the resolution process. Finally, some experimental results will be presented to prove the efficiency of our synthesizer tool and show that the specialized produced code to solve the family of systems given in input is far more accurate and faster than the standard implementation of the Gauss method.


Author(s):  
Helena Hansen

How are spiritual power and self-transformation cultivated in street ministries? This book provides an in-depth analysis of Pentecostal ministries in Puerto Rico that were founded and run by self-identified “ex-addicts,” ministries that are also widespread in poor Black and Latino neighborhoods in the U.S. mainland. The book melds cultural anthropology and psychiatry. Through the stories of ministry converts, the book examines key elements of Pentecostalism: mysticism, ascetic practice, and the idea of other-worldliness. It then reconstructs the ministries' strategies of spiritual victory over addiction: transformation techniques to build spiritual strength and authority through pain and discipline; cultivation of alternative masculinities based on male converts' reclamation of domestic space; and radical rupture from a post-industrial “culture of disposability.” By contrasting the ministries' logic of addiction with that of biomedicine, the book rethinks roads to recovery, discovering unexpected convergences with biomedicine while revealing the allure of street corner ministries.


Author(s):  
Wim Vanderbauwhede

AbstractFortran is still widely used in scientific computing, and a very large corpus of legacy as well as new code is written in FORTRAN 77. In general this code is not type safe, so that incorrect programs can compile without errors. In this paper, we present a formal approach to ensure type safety of legacy Fortran code through automated program transformation. The objective of this work is to reduce programming errors by guaranteeing type safety. We present the first rigorous analysis of the type safety of FORTRAN 77 and the novel program transformation and type checking algorithms required to convert FORTRAN 77 subroutines and functions into pure, side-effect free subroutines and functions in Fortran 90. We have implemented these algorithms in a source-to-source compiler which type checks and automatically transforms the legacy code. We show that the resulting code is type safe and that the pure, side-effect free and referentially transparent subroutines can readily be offloaded to accelerators.


Sign in / Sign up

Export Citation Format

Share Document