Results 1  10
of
23
Cost Recurrences for DML Programs
, 2001
"... A cost recurrence describes an upper bound for the running time of a program in terms of the size of its input. Finding cost recurrences is a frequent intermediate step in complexity analysis, and this step requires an abstraction from data to data size. In this article, we use information contained ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
A cost recurrence describes an upper bound for the running time of a program in terms of the size of its input. Finding cost recurrences is a frequent intermediate step in complexity analysis, and this step requires an abstraction from data to data size. In this article, we use information contained in dependent types to achieve such an abstraction: Dependent ML (DML), a conservative extension of ML, provides dependent types that can be used to associate data with size information, thus describing a possible abstraction. We systematically extract cost recurrences from firstorder DML programs, guiding the abstraction from data to data size with information contained in DML type derivations.
Defining and reasoning about recursive functions: a practical tool for the coq proof assistant
 In Functional and Logic Programming (FLOPS’06), LNCS 3945
, 2006
"... practical tool for the Coq proof assistant ..."
Greedy regular expression matching
 Proc. of ICALP’04
, 2004
"... This paper studies the problem of matching sequences against regular expressions in order to produce structured values. ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
This paper studies the problem of matching sequences against regular expressions in order to produce structured values.
Semicontinuous sized types and termination
 In Zoltán Ésik, editor, Computer Science Logic, 20th International Workshop, CSL 2006, 15th Annual Conference of the EACSL
"... Abstract. Some typebased approaches to termination use sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls occur just at a smaller size. This approach is onl ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
Abstract. Some typebased approaches to termination use sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls occur just at a smaller size. This approach is only sound if the type of the recursive function is admissible, i.e., depends on the size index in a certain way. To explore the space of admissible functions in the presence of higherkinded data types and impredicative polymorphism, a semantics is developed where sized types are interpreted as functions from ordinals into sets of strongly normalizing terms. It is shown that upper semicontinuity of such functions is a sufficient semantic criterion for admissibility. To provide a syntactical criterion, a calculus for semicontinuous functions is developed. 1.
A Formalization of Strong Normalization for SimplyTyped LambdaCalculus and System F
 LFMTP 2006
, 2006
"... We formalize in the logical framework ATS/LF a proof based on Tait’s method that establishes the simplytyped lambdacalculus being strongly normalizing. In this formalization, we employ higherorder abstract syntax to encode lambdaterms and an inductive datatype to encode the reducibility predicat ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
We formalize in the logical framework ATS/LF a proof based on Tait’s method that establishes the simplytyped lambdacalculus being strongly normalizing. In this formalization, we employ higherorder abstract syntax to encode lambdaterms and an inductive datatype to encode the reducibility predicate in Tait’s method. The resulting proof is particularly simple and clean when compared to previously formalized ones. Also, we mention briefly how a proof based on Girard’s method can be formalized in a similar fashion that establishes System F being strongly normalizing.
Applied Type System with Stateful Views
 Carnegie Mellon University
, 1998
"... We present a type system that can effectively facilitate the use of types in capturing invariants in stateful programs that may involve (sophisticated) pointer manipulation. With its root in a recently developed framework Applied Type System (ATS), the type system imposes a level of abstraction on p ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We present a type system that can effectively facilitate the use of types in capturing invariants in stateful programs that may involve (sophisticated) pointer manipulation. With its root in a recently developed framework Applied Type System (ATS), the type system imposes a level of abstraction on program states by introducing a novel notion of recursive stateful views and then relies on a form of linear logic to reason about such views. We consider the design and then the formalization of the type system to constitute the primary contribution of the paper. In addition, we mention a prototype implementation of the type system and then give a variety of examples that attest to the practicality of programming with recursive stateful views.
A Type System for Resource Protocol Verification and its Correctness Proof
 In ACM SIGPLAN PEPM
, 2004
"... We present a new method, based on a form of dependent typing, to verify the correct usage of resources in a program. Our approach allows complex resources to be specified, whose properties are captured by annotated types and conditions on invariance and final states. The protocol itself is specified ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We present a new method, based on a form of dependent typing, to verify the correct usage of resources in a program. Our approach allows complex resources to be specified, whose properties are captured by annotated types and conditions on invariance and final states. The protocol itself is specified through a set of predefined methods, whose precondition and postcondition together, enforce the correct temporal usage of each resource type. We design a simple language together with a type system that shows how resource protocol verification can be achieved. We formalise an operational semantics for the language and provide a correctness proof which confirms that welltyped programs conform to the specified protocol of each resource type. Categories and Subject Descriptors
Practical Inference for TypedBased Termination in a Polymorphic Setting
"... We introduce a polymorphic #calculus that features inductive types and that enforces termination of recursive definitions through typing. Then, we define a sound and complete type inference algorithm that computes a set of constraints to be satisfied for terms to be typable. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We introduce a polymorphic #calculus that features inductive types and that enforces termination of recursive definitions through typing. Then, we define a sound and complete type inference algorithm that computes a set of constraints to be satisfied for terms to be typable.
Topics in Semanticsbased Program Manipulation
, 2001
"... Programming is at least as much about manipulating existing code as it is about writing new code. Existing code is modified, for example to make inefficient code run faster, or to accommodate for new features when reusing code; existing code is analyzed, for example to verify certain program propert ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Programming is at least as much about manipulating existing code as it is about writing new code. Existing code is modified, for example to make inefficient code run faster, or to accommodate for new features when reusing code; existing code is analyzed, for example to verify certain program properties, or to use the analysis information for code modifications. Semanticsbased program manipulation addresses methods for program modifications and program analyses that are formally defined and therefore can be verified with respect to the programminglanguage semantics. This dissertation comprises four articles in the field of semanticsbased techniques for program manipulation: three articles are about partial evaluation, a method for program specialization; the fourth article treats an approach to automatic cost analysis.
ATS/LF: a type system for constructing proofs as total functional programs
, 2004
"... The development of Applied Type System (ATS) [36, 31] stems from an earlier attempt to introduce dependent types into practical programming [38, 37]. While there is already a framework Pure Type System [4] (PTS) that offers a simple and general approach to designing and formalizing type systems, ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The development of Applied Type System (ATS) [36, 31] stems from an earlier attempt to introduce dependent types into practical programming [38, 37]. While there is already a framework Pure Type System [4] (PTS) that offers a simple and general approach to designing and formalizing type systems,