Results 1 
7 of
7
Rank 2 Type Systems and Recursive Definitions
, 1995
"... We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIMEcomplete. We int ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
We demonstrate an equivalence between the rank 2 fragments of the polymorphic lambda calculus (System F) and the intersection type discipline: exactly the same terms are typable in each system. An immediate consequence is that typability in the rank 2 intersection system is DEXPTIMEcomplete. We introduce a rank 2 system combining intersections and polymorphism, and prove that it types exactly the same terms as the other rank 2 systems. The combined system suggests a new rule for typing recursive definitions. The result is a rank 2 type system with decidable type inference that can type some interesting examples of polymorphic recursion. Finally,we discuss some applications of the type system in data representation optimizations such as unboxing and overloading.
Semantic Unification for Convergent Systems
, 1994
"... Equation solving is the process of nding a substitution of terms for variables that makes two terms equal in a given theory, while semantic uni cation is the process that generates a basis set of such unifying substitutions. A simpler variant of the problem is semantic matching, where the substituti ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Equation solving is the process of nding a substitution of terms for variables that makes two terms equal in a given theory, while semantic uni cation is the process that generates a basis set of such unifying substitutions. A simpler variant of the problem is semantic matching, where the substitution is made in only one of the terms. Semantic uni cation and matching constitute an important component of theorem proving and programming language interpreters. In this thesis we formulate a uni cation procedure based on a system of transformation rules that looks at goals in a lazy, topdown fashion, and prove its soundness and completeness for equational theories described by convergent rewrite systems ( nite sets of equations that compute unique output values when applied from lefttoright to input values). We consider di erent variants of the system of transformation rules. We describe syntactic restrictions on the equations under which simpler sets of transformation rules are su cient for generating a complete set of semantic matchings. We show that our rstorder uni cation procedure, with slight modi cations, can be used to solve the satis ability problem in combinatory logic together with a convergent set of algebraic axioms, resulting in a complete higherorder uni cation procedure for the given algebra. We also provide transformation rules to handle sit
Typesafe Computation with Heterogeneous Data
, 2007
"... Computation with largescale heterogeneous data typically requires universal traversal to search forall occurrences of a substructure that matches a possibly complex search pattern, whose context may be different in different places within the data. Both aspects cause difficulty for existing general ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Computation with largescale heterogeneous data typically requires universal traversal to search forall occurrences of a substructure that matches a possibly complex search pattern, whose context may be different in different places within the data. Both aspects cause difficulty for existing generalpurpose programming languages, because these languages are designed for homogeneous data and have problems typing the different substructures in heterogeneous data, and the complex patterns to match with the substructures. Programmers either have to hardcode the structures and search patterns, preventing programs from being reusable and scalable, or have to use lowlevel untyped programming or programming with specialpurpose query languages, opening the door to type mismatches that cause a high risk of program correctness and security problems. This thesis invents the concept of pattern structures, and proposes a general solution to the above problems  a programming technique using pattern structures. In this solution, welltyped pattern structures are defined to represent complex search patterns, and pattern searching over heterogeneous data is programmed with pattern parameters, in a staticallytyped language that supports firstclass typing of structures and patterns. The resulting programs are staticallytyped, highly reusable for different data structures and different patterns, and highly scalable in terms of the complexity of data structures and patterns. Adding new kinds of patterns for an application no longer requires changing the language in use or creating new ones, but is only a programming task. The thesis demonstrates the application of this approach to, and its advantages in, two important examples of computation with heterogeneous data, i.e., XML data processing and Java bytecode analysis.
Unification of Knowledge Bases
, 1997
"... Unification of concept terms is a new kind of inference problem for Description Logics, which extends the equivalence problem by allowing to substitute certain concept names by concept terms before testing for equivalence. We show that this inference problem is of interest for applications, and pres ..."
Abstract
 Add to MetaCart
Unification of concept terms is a new kind of inference problem for Description Logics, which extends the equivalence problem by allowing to substitute certain concept names by concept terms before testing for equivalence. We show that this inference problem is of interest for applications, and present first decidability and complexity results for a small concept description language.
ISRNKTH/CSC/A–11/15SE
"... Tryck: EPrintiii Software testing remains one of the most important but expensive approaches to ensure highquality software today. In order to reduce the cost of testing, over the last several decades, various techniques such as formal verification and inductive learning have been used for test au ..."
Abstract
 Add to MetaCart
Tryck: EPrintiii Software testing remains one of the most important but expensive approaches to ensure highquality software today. In order to reduce the cost of testing, over the last several decades, various techniques such as formal verification and inductive learning have been used for test automation in previous research. In this thesis, we present a specificationbased blackbox testing approach, learningbased testing (LBT), which is suitable for a wide range of systems, e.g. procedural and reactive systems. In the LBT architecture, given the requirement specification of a system under test (SUT), a large number of highquality test cases can be iteratively generated, executed and evaluated by means of combining inductive learning with constraint solving. We apply LBT to two types of systems, namely procedural and reactive systems. We specify a procedural system in Hoare logic and model it as a set