Results 1 -
3 of
3
From SOS Rules to Proof Principles: An Operational Metatheory for Functional Languages
- In Proc. POPL'97, the 24 th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
, 1997
"... Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. As a consequence the operational approach to reasoning is considered ad hoc since the same basic proof techniques and reasoning tools are reestablished over and over, once for each operational semantics speciøcation. This paper develops some metatheory for a certain class of SOS language speciøcations for functional languages. We deøne a rule format, Globally Deterministic SOS (gdsos), and establish some proof principles for reasoning about equivalence which are sound for all languages which can be expressed in this format. More speciøcally, if the SOS rules for the operators of a language conform to the syntax of the gdsos format, then ffl a syntactic analogy of continuity holds, which rel...
Formal Development of Static Program Analysers
- In Proceedings of the 8th Israeli Conference on Computer Systems and Software Engineering
, 1997
"... We propose an approach for the formal development of static analysers which is based on transformations of inference systems. The specification of an analyser is made of two components: an operational semantics of the programming language and the definition of a property by recurrence on the proof t ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We propose an approach for the formal development of static analysers which is based on transformations of inference systems. The specification of an analyser is made of two components: an operational semantics of the programming language and the definition of a property by recurrence on the proof trees of the operational semantics. The derivation is a succession of specialisations of inference systems with respect to properties on their proof trees. In this paper, we illustrate the methodology with the derivation of analysers for a non strict functional language. 1. Introduction Despite the very general nature of its principles, most of the applications of static program analysis so far have been targeted towards optimising compilers. We believe that static analysis should play a much bigger role in another large and very demanding application field, namely software engineering. Among the various applications of static analysis in the field of software engineering, let us mention: ...
Une Analyse De Globalisation De Programmes Fonctionnels Basée Sur Une Sémantique Naturelle
"... Introduction Nous d'ecrivons d'abord la motivation g'en'erale de ce travail puis nous pr'esentons la d'emarche suivie dans le corps de l'article. 1.1 Motivation Les travaux sur l'analyse statique de programmes ont 'et'e nombreuses durant ces derni`eres ann'ees parce que l'optimisation des compilat ..."
Abstract
- Add to MetaCart
Introduction Nous d'ecrivons d'abord la motivation g'en'erale de ce travail puis nous pr'esentons la d'emarche suivie dans le corps de l'article. 1.1 Motivation Les travaux sur l'analyse statique de programmes ont 'et'e nombreuses durant ces derni`eres ann'ees parce que l'optimisation des compilateurs est cruciale pour l'impl'ementation des langages fonctionnels. En particulier un certain nombre de cadres et d'algorithmes sophistiqu'es ont 'et'e propos'es pour l'analyse de strictness [4, 12], de chemin [3, 2, 15] et de globalisation [8, 14, 16]. La correction et la pr'ecision des analyses ont 'et'e beaucoup 'etudi'ees et plusieurs techniques ont 'et'e r'ecemment propos'ees pour am'eliorer l'efficacit'e des analyseurs [11, 13]. En d'epit du fait que l'interpr'etation abstraite a 'et'e `a l'origine d'efinie dans un cadre op'erationnel [6], la plupart des analyseurs pour les langages fonctionnels sont bas'es sur des interpr'etations abstraites de

