2005
DOI: 10.1007/11541868_4
|View full text |Cite
|
Sign up to set email alerts
|

Mechanized Metatheory for the Masses: The PoplMark Challenge

Abstract: How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machinechecked proofs? We propose an initial set of benchmarks for measuring progress in this area. Based on the metatheory of System F , a typed lambda-calculus with second-order polymorphism, subtyping, and records, these benchmarks embody many aspects of programming languages that are challenging to formalize: variable binding at both the term and type levels, syntactic forms with variable nu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
205
1

Year Published

2005
2005
2009
2009

Publication Types

Select...
8
1

Relationship

0
9

Authors

Journals

citations
Cited by 228 publications
(207 citation statements)
references
References 35 publications
(28 reference statements)
1
205
1
Order By: Relevance
“…Since both the language and its type system are defined uniformly as theories in the same logic, one can use the standard RLS proof theory to prove properties about languages and type systems for those languages. These preliminary results lead us to believe our approach is a good candidate for the PoplMark Challenge [39].…”
Section: Conclusion and Further Workmentioning
confidence: 75%
“…Since both the language and its type system are defined uniformly as theories in the same logic, one can use the standard RLS proof theory to prove properties about languages and type systems for those languages. These preliminary results lead us to believe our approach is a good candidate for the PoplMark Challenge [39].…”
Section: Conclusion and Further Workmentioning
confidence: 75%
“…Each method description includes a method identifier, its code (set of labelled bytecode instructions), a table of exception handlers, and a signature that gives the type of its arguments and of its result. 2 We note Handler(i, C) = t when there is a handler at program point t for exception of class C thrown at program point i, and Handler(i, C) ↑ otherwise. A method identifier may correspond to several methods in the class hierarchy according to overriding of methods.…”
Section: Programsmentioning
confidence: 99%
“…The need for machine-checked proofs is accentuated by the fact that non-interference proofs are particularly involved (w.r.t. say standard type safety proofs discussed in [2]), and that some lemmas as locally respects involve two parallel executions leading to an explosion of cases. For example, the JVM virtual call has 5 different transitions (call on a null reference which generates a null pointer exception caught or not, normal termination of the callee, termination by an exception caught or not in the caller context) which required 15 distinct proofs to be exhaustively confronted.…”
Section: Remarks On Formal Proofsmentioning
confidence: 99%
“…In recent years, logical frameworks which support formalizing language specifications together with their meta-theory have been pervasively used in small and large-scale applications, from certifying code [1] to advocating a general infrastructure for formalizing language meta-theory and semantics [2]. In particular, the logical framework LF [6], based on the dependently typed lambda-calculus, and light-weight variants of it like LF i [11] have played a major role in these applications.…”
Section: Introductionmentioning
confidence: 99%