Transformation and debugging of functional logic programs

被引:1
|
作者
Alpuente M. [1 ]
Ballis D. [2 ]
Falaschi M. [3 ]
机构
[1] DSIC, Universidad Politécnica de Valencia, Camino de Vera S/n, 46071 Valencia
[2] Dip. Matematica e Informatica, 33100 Udine
[3] Dip. di Scienze Matematiche e Informatiche, 53100 Siena
关键词
75;
D O I
10.1007/978-3-642-14309-0_13
中图分类号
学科分类号
摘要
The Italian contribution to functional-logic programming has been significant and influential in a number of areas of semantics, and semantics-based program manipulation techniques. We survey selected topics, with a particular regard to debugging and transformation techniques. These results as usual depend on the narrowing strategy which is adopted and on the properties satisfied by the considered programs. In this paper, we restrict ourselves to first-order functional-logic languages without non-deterministic functions. We start by describing some basic classical transformation techniques, namely folding and unfolding. Then, we recall the narrowing-driven partial evaluation, which is the first generic algorithm for the specialization of functional logic programs. Regarding debugging, we describe a goal-independent approach to automatic diagnosis and correction which applies the immediate consequence operator modeling computed answers to the diagnosis of bugs in functional logic programs. A companion bug-correction program synthesis methodology is described that attempts to correct the erroneous components of the wrong code. © 2010 Springer-Verlag Berlin Heidelberg.
引用
收藏
页码:271 / 299
页数:28
相关论文
共 50 条
  • [21] A LOGIC FOR NONDETERMINISTIC FUNCTIONAL PROGRAMS
    GILLUEZAS, A
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 380 : 197 - 208
  • [22] Correction of functional logic programs
    Alpuente, M
    Ballis, D
    Correa, FJ
    Falaschi, M
    PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 2618 : 54 - 68
  • [23] Diagnosis and debugging of programmable logic controller control programs by neural networks
    Abdelhameed, MM
    Darabi, H
    2005 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE), 2005, : 313 - 318
  • [24] TRANSFORMATION OF LOGIC PROGRAMS - FOUNDATIONS AND TECHNIQUES
    PETTOROSSI, A
    PROIETTI, M
    JOURNAL OF LOGIC PROGRAMMING, 1994, 20 : 261 - 320
  • [25] DDT:: a declarative debugging tool for functional-logic languages
    Caballero, R
    Rodríguez-Artalejo, M
    FUNCTIONAL AND LOGIC PROGRAMMING, 2004, 2998 : 70 - 84
  • [26] A Technique to Build Debugging Tools for Lazy Functional Logic Languages
    Brassel, Bernd
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 246 (39-53) : 39 - 53
  • [27] From Functional Logic Programs to Purely Functional Programs Preserving Laziness
    Brassel, Bernd
    Fischer, Sebastian
    IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, 2011, 5836 : 25 - 42
  • [28] TRANSFORMATION ALGORITHM FROM EQUATIONAL PROGRAMS INTO LOGIC PROGRAMS.
    Togashi, Atsushi
    Noguchi, Syoichi
    Systems, computers, controls, 1984, 15 (05): : 52 - 60
  • [29] Overlapping rules and logic variables in functional logic programs
    Antoy, Sergio
    Hanus, Michael
    LOGIC PROGRAMMING, PROCEEDINGS, 2006, 4079 : 87 - 101
  • [30] Combined static and dynamic assertion-based debugging of constraint logic programs
    Puebla, G
    Bueno, F
    Hermenegildo, M
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, PROCEEDINGS, 2000, 1817 : 273 - 292