liu.seSearch for publications in DiVA
Change search
Link to record
Permanent link

Direct link
Pietrzak, Pawel
Publications (8 of 8) Show all publications
Pietrzak, P. (2002). A type-based framework for locating errors in constraint logic programs. (Doctoral dissertation). Linköping: Linköpings universitet
Open this publication in new window or tab >>A type-based framework for locating errors in constraint logic programs
2002 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

This thesis presents a method for automatic location of type errors in constraint logic programs (CLP) and a prototype debugging tool. The appriach is based on techniques of verification and static analysis iriginating from logic programming, which are substantially extended in the thesis. The main idea is to verify partial correctness of a program with respect to a given specification which is intended to describe (an approximation of) the call-success semantics of the program. This kind of specification, describing calls and successes for every predicate of a program is known as descriptive directional type. For specifying types for CLP programs the thesis extends the formalism of regular discriminative types with constraint-domain-specific base types and with parametric polymorphism.

Errors are located by identifying program points that violate verification conditions for a given type specification. The Specifications may be developed interactively taking into account the results of static analysis.

The main contributions of the thesis are:

  • a verification method for proving partial correctness of CLP programs with respect to polymorphic spicifications of the call-success semantics,
  • a specification language for defining parametric regular types,
  • a verification-based method for locating errors in CLP programs,
  • a static analysis method for CLP which is an adaptation and generalization of techniques previously devised for logic programming; its implementation is used in our diagnosis tool for synthesizing draft specifications,
  • an implementation of the prototype diagnosis tool (called TELL).

Place, publisher, year, edition, pages
Linköping: Linköpings universitet, 2002. p. 22
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 772
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-35577 (URN)27725 (Local ID)91-7373-422-5 (ISBN)27725 (Archive number)27725 (OAI)
Public defence
2002-09-13, Estraden seminarierum, Hus E, Linköpings universitet, Linköping, 13:15 (Swedish)
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-13
Drabent, W., Maluszynski, J. & Pietrzak, P. (2002). Using parametric set constraints for locating errors in CLP programs. Theory and Practice of Logic Programming, 2(4-5), 549-610
Open this publication in new window or tab >>Using parametric set constraints for locating errors in CLP programs
2002 (English)In: Theory and Practice of Logic Programming, ISSN 1471-0684, E-ISSN 1475-3081, Vol. 2, no 4-5, p. 549-610Article in journal (Refereed) Published
Abstract [en]

This paper introduces a framework of parametric descriptive directional types for Constraint Logic Programming (CLP). It proposes a method for locating type errors in CLP programs, and presents a prototype debugging tool. The main technique used is checking correctness of programs w.r.t. type specifications. The approach is based on a generalization of known methods for proving the correctness of logic programs to the case of parametric specifications. Set constraint techniques are used for formulating and checking verification conditions for (parametric) polymorphic type specifications. The specifications are expressed in a parametric extension of the formalism of term grammars. The soundness of the method is proved, and the prototype debugging tool supporting the proposed approach is illustrated on examples. The paper is a substantial extension of the previous work by the same authors concerning monomorphic directional types.

Keywords
Constraint logic programming, Debugging, Descriptive types, Parametric types, Program correctness, Set constraints, Term grammars
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-46959 (URN)10.1017/S1471068402001473 (DOI)
Available from: 2009-10-11 Created: 2009-10-11 Last updated: 2017-12-13
Drabent, W., Maluszynski, J. & Pietrzak, P. (2000). Locating type errors in untyped CLP programs. In: Pierre Deransart, Manuel V. Hermenegildo, Jan Małuszynski (Ed.), Analysis and Visualization Tools for Constraint Programming: Constraint Debugging (pp. 121-150). Springer Berlin/Heidelberg, 1870
Open this publication in new window or tab >>Locating type errors in untyped CLP programs
2000 (English)In: Analysis and Visualization Tools for Constraint Programming: Constraint Debugging / [ed] Pierre Deransart, Manuel V. Hermenegildo, Jan Małuszynski, Springer Berlin/Heidelberg, 2000, Vol. 1870, p. 121-150Chapter in book (Refereed)
Abstract [en]

This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs without executing them. The exciting prototype is specialised for the programming language CHIP [4.10], but the idea applies to any CLP language. The tool works with approximated specifications which describe types of procedure calls and successes. The specifications ar expressed as a certain kind of term grammars. The tool automatically locates at compile time all the errors (with respect to a given specification) in a program. The located erroneous program fragments ar (prefixes of ) clauses. The tool aids the user in constructing specifications incrementally; often a fragment of the specification is already sufficient to locate an error. The presentation is informal. The focus is on the motivation of this work and on the functionality of the tool. Some related formal aspects ar discussed in [4.15, 4.29].

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2000
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 1870
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-48164 (URN)10.1007/10722311_5 (DOI)9783540411376 (ISBN)9783540400165 (ISBN)3540411372 (ISBN)
Available from: 2009-10-11 Created: 2009-10-11 Last updated: 2020-11-05Bibliographically approved
Drabent, W., Maluszynski, J. & Pietrzak, P. (2000). Type-based diagnosis of CLP programs. Paper presented at WLPE'99, Tenth Workshop on Logic Programming Environments (in connection with ICLP'99, International Conference on Logic Programming). Electronic Notes in Theoretical Computer Science, 30(4), 215-234
Open this publication in new window or tab >>Type-based diagnosis of CLP programs
2000 (English)In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 30, no 4, p. 215-234Article in journal (Refereed) Published
Abstract [en]

The paper presents a diagnosis tool for CLP programs. It deals with partial correctness w.r.t. specifications which describe procedure calls and successes. The space of possible specifications is restricted to a kind of regular types; we propose a generalization of the concept of types used in so called descriptive typing of logic programs. In particular we distinguish ground types from those containing non-ground elements.

The tool is able to automatically locate at compile time all errors in a program, this means all the clauses or clause prefixes responsible for the program being incorrect w.r.t. a given specification. The tool aids the user in constructing specifications incrementally; often a fragment of the specification is already sufficient to locate an error.

Our prototype is specialized for the programming language CHIP, but the idea is applicable to any untyped CLP (and LP) language. We believe that the presented approach makes it possible to combine the advantages of typed and untyped programming languages.

Place, publisher, year, edition, pages
Elsevier, 2000
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-47669 (URN)10.1016/S1571-0661(05)80659-0 (DOI)
Conference
WLPE'99, Tenth Workshop on Logic Programming Environments (in connection with ICLP'99, International Conference on Logic Programming)
Available from: 2009-10-11 Created: 2009-10-11 Last updated: 2024-07-04
Drabent, W. & Pietrzak, P. (1998). Inferring call and success types for CLP programs.
Open this publication in new window or tab >>Inferring call and success types for CLP programs
1998 (English)Other (Refereed)
Abstract [en]

This paper proposes a tool to support reasoning about (partial) correctness of constraint logic programs. The tool infers a specification that approximates the semantics of a given program. The main intended application is program debugging. We deal with a "callsuccess "semantics of CLP. We consider a restricted class of specifications, which are regular types of constrained atoms. The call-success semantics of a CLP program is characterized by the declarative semantics of another CLP program ("magic transformation"). Then bottom-up abstract interpretation is used to approximate the latter. We study the theoretical background of this approach.

We are mainly interested in applying it to CLP over finite domains. Our prototype program analyzer works for the programming language CHIP. 1 Introduction and motivation The work reported addresses the problem of correctness of CLP programs. Intuitively, a program is correct if it behaves as expected by the user. But user expectations are seldo.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-87992 (URN)
Note

EPSRIT DiSCiPl deliverable, September 1998

Available from: 2013-01-28 Created: 2013-01-28 Last updated: 2013-01-31Bibliographically approved
Pietrzak, P. (1998). Static incorrectness diagnosis of CLP (FD). (Licentiate dissertation). Linköping: Univ.
Open this publication in new window or tab >>Static incorrectness diagnosis of CLP (FD)
1998 (English)Licentiate thesis, monograph (Other academic)
Place, publisher, year, edition, pages
Linköping: Univ., 1998. p. 75
Series
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 742
National Category
Embedded Systems
Identifiers
urn:nbn:se:liu:diva-164612 (URN)LiU-TEK-LIC-1998:77 (Local ID)9172194030 (ISBN)LiU-TEK-LIC-1998:77 (Archive number)LiU-TEK-LIC-1998:77 (OAI)
Presentation
1998-01-25, 13:15
Available from: 2020-03-27 Created: 2020-03-27 Last updated: 2021-06-08Bibliographically approved
Carlson, J. & Pietrzak, P.Improving goal directed bottom-up evaluation of logic programs.
Open this publication in new window or tab >>Improving goal directed bottom-up evaluation of logic programs
(English)Manuscript (preprint) (Other academic)
Abstract [en]

This paper introduces a new strategy for goal directed bottom-up evaluation of logic programs. The strategy is based on a combination of two known techniques: dividing a program into strongly connected components (SCC) and Induced Magic-sets.

In our approach no magic transformation is needed (as in Induced Magic-sets). We introduce a notion of a call-success dependency graph that constructed directly from the original program. Its SCCs are used to optimize a fixpoint computation (i.e. they coincide with SCCs of a corresponding magic program). The new graph contains substantially fewer edges than standard dependency graph of a magic program, and thus its SCCs are computed faster. We also show how to incorporate SCC-based optimization into the Unduced Magic-sets technique. This is achived by modifying the basic Induced Magic method, so that the fixpoints are computed locally for every SCC.

The impact of our method is illustrated by experimental results.

Keywords
magic-sets, bottom-up evaluation
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-87997 (URN)
Available from: 2013-01-28 Created: 2013-01-28 Last updated: 2013-01-28
Pietrzak, P.The TELL diagnosis tool.
Open this publication in new window or tab >>The TELL diagnosis tool
(English)Manuscript (preprint) (Other academic)
Abstract [en]

No abstract available.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-87999 (URN)
Available from: 2013-01-28 Created: 2013-01-28 Last updated: 2013-01-28
Organisations

Search in DiVA

Show all publications