Results 1  10
of
17
Logic program specialisation through partial deduction: Control issues
 THEORY AND PRACTICE OF LOGIC PROGRAMMING
, 2002
"... Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It ..."
Abstract

Cited by 54 (12 self)
 Add to MetaCart
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a wellautomated application of parts of the BurstallDarlington unfold/fold transformation framework. The main challenge in developing systems is to design automatic control that ensures correctness, efficiency, and termination. This survey and tutorial presents the main developments in controlling partial deduction over the past 10 years and analyses their respective merits and shortcomings. It ends with an assessment of current achievements and sketches some remaining research challenges.
Modelling unreliable and untrustworthy agent behaviour
 Monitoring, Security, and Rescue Techniques in Multiagent Systems), Advances in Soft Computing
, 2005
"... Summary. It cannot always be assumed that agents will behave as they are supposed to behave. Agents may fail to comply with system norms deliberately, in open agent systems or other competitive settings, or unintentionally, in unreliable environments because of factors beyond their control. In addit ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Summary. It cannot always be assumed that agents will behave as they are supposed to behave. Agents may fail to comply with system norms deliberately, in open agent systems or other competitive settings, or unintentionally, in unreliable environments because of factors beyond their control. In addition to analysing system properties that hold if specifications/norms are followed correctly, it is also necessary to predict, test, and verify the properties that hold if system norms are violated, and to test the effectiveness of introducing proposed control, enforcement, and recovery mechanisms. C+ ++ is an extended form of the action language C+ of Giunchiglia, Lee, Lifschitz, McCain, and Turner, designed for representing norms of behaviour and institutional aspects of (human or computer) societies. We present the permission component of C+ ++ and then illustrate on a simple example how it can be used in conjunction with standard model checkers for the temporal logic CTL to verify system properties in the case where agents may fail to comply with system norms. 1
Program specialization for verifying infinite state systems: An experimental evaluation
 In LOPSTR’10
, 2010
"... Abstract. We address the problem of the automated verification of temporal properties of infinite state reactive systems. We present some improvements of a verification method based on the specialization of constraint logic programs (CLP). First, we reformulate the verification method as a twophase ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Abstract. We address the problem of the automated verification of temporal properties of infinite state reactive systems. We present some improvements of a verification method based on the specialization of constraint logic programs (CLP). First, we reformulate the verification method as a twophase procedure: (1) in the first phase a CLP specification of an infinite state system is specialized with respect to the initial state of the system and the temporal property to be verified, and (2) in the second phase the specialized program is evaluated by using a bottomup strategy. In this paper we propose some new strategies for performing program specialization during the first phase. We evaluate the effectiveness of these new strategies, as well as that of some old strategies, by presenting the results of experiments performed on several infinite state systems and temporal properties. Finally, we compare the implementation of our specializationbased verification method with various constraintbased model checking tools. The experimental results show that our method is effective and competitive with respect to the methods used in those other tools. 1
Convex Hull Abstractions in Specialization of CLP Programs
"... Abstract. We introduce an abstract domain consisting of atomic formulas constrained by linear arithmetic constraints (or convex hulls). This domain is used in an algorithm for specialization of constraint logic programs. The algorithm incorporates in a single phase both topdown goal directed propag ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract. We introduce an abstract domain consisting of atomic formulas constrained by linear arithmetic constraints (or convex hulls). This domain is used in an algorithm for specialization of constraint logic programs. The algorithm incorporates in a single phase both topdown goal directed propagation and bottomup answer propagation, and uses a widening on the convex hull domain to ensure termination. We give examples to show the precision gained by this approach over other methods in the literature for specializing constraint logic programs. The specialization method can also be used for ordinary logic programs containing arithmetic, as well as constraint logic programs. Assignments, inequalities and equalities with arithmetic expressions can be interpreted as constraints during specialization, thus increasing the amount of specialization that can be achieved. 1
Generalization Strategies for the Verification of Infinite State Systems
"... Abstract. We present a comparative evaluation of some generalization strategies which are applied by a method for the automated verification of infinite state reactive systems. The verification method is based on (1) the specialization of the constraint logic program which encodes the system with re ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
Abstract. We present a comparative evaluation of some generalization strategies which are applied by a method for the automated verification of infinite state reactive systems. The verification method is based on (1) the specialization of the constraint logic program which encodes the system with respect to the initial state and the property to be verified, and (2) a bottomup evaluation of the specialized program. The generalization strategies are used during the program specialization phase for controlling when and how to perform generalization. Selecting a good generalization strategy is not a trivial task because it must guarantee the termination of the specialization phase itself, and it should be a good balance between precision and performance. Indeed, a coarse generalization strategy may prevent one to prove the properties of interest, while an unnecessarily precise strategy may lead to high verification times. We perform an experimental evaluation of various generalization strategies on several infinite state systems and properties to be verified. 1
Improving Reachability Analysis of Infinite State Systems by Specialization
"... Abstract. We consider infinite state reactive systems specified by using linear constraints over the integers, and we address the problem of verifying safety properties of these systems by applying reachability analysis techniques. We propose a method based on program specialization, which improves ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. We consider infinite state reactive systems specified by using linear constraints over the integers, and we address the problem of verifying safety properties of these systems by applying reachability analysis techniques. We propose a method based on program specialization, which improves the effectiveness of the backward and forward reachability analyses. For backward reachability our method consists in: (i) specializing the reactive system with respect to the initial states, and then (ii) applying to the specialized system a reachability analysis that works backwards from the unsafe states. For forward reachability our method works as for backward reachability, except that the role of the initial states and the unsafe states are interchanged. We have implemented our method using the MAP transformation system and the ALV verification system. Through various experiments performed on several infinite state systems, we have shown that our specializationbased verification technique considerably increases the number of successful verifications without significantly degrading the time performance. 1
Deciding Full Branching Time Logic by Program Transformation
"... Abstract. We present a method based on logic program transformation, for verifying Computation Tree Logic (CTL ∗ ) properties of finite state reactive systems. The finite state systems and the CTL ∗ properties we want to verify, are encoded as logic programs on infinite lists. Our verification metho ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We present a method based on logic program transformation, for verifying Computation Tree Logic (CTL ∗ ) properties of finite state reactive systems. The finite state systems and the CTL ∗ properties we want to verify, are encoded as logic programs on infinite lists. Our verification method consists of two steps. In the first step we transform the logic program that encodes the given system and the given property, into a monadic ωprogram, that is, a stratified program defining nullary or unary predicates on infinite lists. This transformation is performed by applying unfold/fold rules that preserve the perfect model of the initial program. In the second step we verify the property of interest by using a proof method for monadic ωprograms. 1
7 Il Milione: A Journey in the Computational Logic in Italy
"... In questo articolo presentiamo brevemente la metodologia di trasformazione dei programmi per lo sviluppo di software corretto ed efficiente. Ci riferiremo, in particolare, al caso della trasformazione e dello sviluppo dei programmi logici con vincoli. In this paper we briefly describe the use of the ..."
Abstract
 Add to MetaCart
In questo articolo presentiamo brevemente la metodologia di trasformazione dei programmi per lo sviluppo di software corretto ed efficiente. Ci riferiremo, in particolare, al caso della trasformazione e dello sviluppo dei programmi logici con vincoli. In this paper we briefly describe the use of the program transformation methodology for the development of correct and efficient programs. We will consider, in particular, the case of the transformation and the development of constraint logic programs.
Transformational Verification of Linear Temporal Logic
"... Abstract. We present a new method for verifying Linear Temporal Logic (LTL) properties of finite state reactive systems based on logic programming and program transformation. We encode a finite state system and an LTL property which we want to verify as a logic program on infinite lists. Then we app ..."
Abstract
 Add to MetaCart
Abstract. We present a new method for verifying Linear Temporal Logic (LTL) properties of finite state reactive systems based on logic programming and program transformation. We encode a finite state system and an LTL property which we want to verify as a logic program on infinite lists. Then we apply a verification method consisting of two steps. In the first step we transform the logic program that encodes the given system and the given property into a new program belonging to the class of the socalled linear monadic ωprograms (which are stratified, linear recursive programs defining nullary predicates or unary predicates on infinite lists). This transformation is performed by applying rules that preserve correctness. In the second step we verify the property of interest by using suitable proof rules for linear monadic ωprograms. These proof rules can be encoded as a logic program which always terminates, if evaluated by using tabled resolution. Although our method uses standard program transformation techniques, the computational complexity of the derived verification algorithm is essentially the same as the one of the LichtensteinPnueli algorithm [9], which uses sophisticated adhoc techniques. 1
PROGRAM TRANSFORMATION FOR DEVELOPMENT, VERIFICATION, AND SYNTHESIS OF SOFTWARE
"... In questo articolo presentiamo brevemente la metodologia di trasformazione dei programmi per lo sviluppo di software corretto ed efficiente. Ci riferiremo, in particolare, al caso della trasformazione e dello sviluppo dei programmi logici con vincoli. In this paper we briefly describe the use of the ..."
Abstract
 Add to MetaCart
In questo articolo presentiamo brevemente la metodologia di trasformazione dei programmi per lo sviluppo di software corretto ed efficiente. Ci riferiremo, in particolare, al caso della trasformazione e dello sviluppo dei programmi logici con vincoli. In this paper we briefly describe the use of the program transformation methodology for the development of correct and efficient programs. We will consider, in particular, the case of the transformation and the development of constraint logic programs.