Results 11  20
of
36
JULIA: A Generic Static Analyser for the Java Bytecode
 Part XXX
, 1982
"... We describe our software tool JULIA for the static analysis of full sequential Java bytecode. This tool is generic in the sense that no specific abstract domain (analysis) is embedded in JULIA. Instead, abstract domains are provided as external classes that specialise the behaviour of JULIA. Static ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We describe our software tool JULIA for the static analysis of full sequential Java bytecode. This tool is generic in the sense that no specific abstract domain (analysis) is embedded in JULIA. Instead, abstract domains are provided as external classes that specialise the behaviour of JULIA. Static analysis is performed through a denotational fixpoint calculation, focused on some program points called watchpoints. These points specify where the result of the analysis is useful, and can be automatically placed by the abstract domain or manually provided by the user. JULIA can be instructed to include a given set of library Java classes in the analysis, in order to improve its precision. Moreover, it gives abstract domains the opportunity to approximate control and dataflow arising from exceptions and subroutines.
P.: Static Type Inference for the Q language using Constraint Logic Programming
 In: 28th International Conference on Logic Programming (ICLP 2012). Leibniz International Proceedings in Informatics (LIPIcs
, 2012
"... We describe an application of Prolog: a type inference tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a dynamically typed language, much like Prolog. Extending Q with ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We describe an application of Prolog: a type inference tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a dynamically typed language, much like Prolog. Extending Q with static typing improves both the readability of programs and programmer productivity, as type errors are discovered by the tool at compile time, rather than through debugging the program execution. We map the task of type inference onto a constraint satisfaction problem and use constraint logic programming, in particular the Constraint Handling Rules extension of Prolog. We determine the possible type values for each program expression and detect inconsistencies. As most builtin function names of Q are overloaded, i.e. their meaning depends on the argument types, a quite complex system of constraints had to be implemented.
SetBased Constraints
"... The notion of set constraint has been presented in literature with two dierent meanings and aims. Each of them allows to deal with a particular class of set based formulae. We compare the two notions and present their satis ability problem as instances of the more general framework of Computable ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
The notion of set constraint has been presented in literature with two dierent meanings and aims. Each of them allows to deal with a particular class of set based formulae. We compare the two notions and present their satis ability problem as instances of the more general framework of Computable Set Theory. We show that there are large classes of formulae for which both proposals provide suitable procedures for testing satis ability with respect to a given privileged interpretation. We show examples of how these constraints can be used for setbased analysis and for problem solving in general.
Simulation Reduction as Constraint
 Proc. of Workshop on Functional and Constraint Logic Programming (WFLP'02), pages 5972. Research Report UDMI/18/2002/RR
, 2002
"... We encode the simulation problem into a membership/inclusion problem over sets. This allows us to exploit the notion of rank and to use constraint solving procedures to incrementally compute the maximum simulation. 1 ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
We encode the simulation problem into a membership/inclusion problem over sets. This allows us to exploit the notion of rank and to use constraint solving procedures to incrementally compute the maximum simulation. 1
A MasterSlave Architecture to Integrate Sets and Finite Domains in Java
"... Abstract. This paper summarizes the lessons learned from the integration of two Java constraint solvers: a set solver (namely JSetL) and a finite domains solver (namely JFD). The most relevant outcome of this experience is the definition of a generic masterslave architecture that can be used to sup ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. This paper summarizes the lessons learned from the integration of two Java constraint solvers: a set solver (namely JSetL) and a finite domains solver (namely JFD). The most relevant outcome of this experience is the definition of a generic masterslave architecture that can be used to support the cooperation of different solvers. Each slave is responsible for managing constraints of a particular sort and the master, which is also a solver, is in charge of distributing tasks according to a static, apriori policy. This paper first presents this generic architecture in an abstract form; then, its concrete instantiation to the selected case study, i.e., the integration of JSetL and JFD, is also described. This case study was selected because it fully demonstrates the possibilities of this architecture as: (i) the poor performances of JSetL on nonset variables are overwhelmed by the cooperation with JFD; and (ii) the expressive power of JSetL is fully preserved and the integration with JFD demands no restrictions. 1
Multiset Rewriting By Multiset Constraint Solving
 ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY
, 2001
"... Termlike theories of multisets have been recently studied from an axiomatic point of view and constraint solving algorithms have been developed. In this paper ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Termlike theories of multisets have been recently studied from an axiomatic point of view and constraint solving algorithms have been developed. In this paper
Constraint Logic Programming
"... Abstract. Constraint Logic Programming (CLP) is one of the most successful branches of Logic Programming; it attracts the interest of theoreticians and practitioners, and it is currently used in many commercial applications. Since the original proposal, it has developed enormously: many languages an ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Constraint Logic Programming (CLP) is one of the most successful branches of Logic Programming; it attracts the interest of theoreticians and practitioners, and it is currently used in many commercial applications. Since the original proposal, it has developed enormously: many languages and systems are now available either as open source programs or as commercial systems. Also, CLP has been one of the technologies able to recruit researchers from other communities to the declarative programming cause. Current CLP engines include technologies and results developed in other communities, which themselves discovered logic as an invaluable tool to model and solve reallife problems. 1 The CLP Paradigm Constraint Logic Programming (CLP) [7] represents a successful attempt to merge the best features of logic programming (LP) and constraint solving. Constraint solving [127, 6, 56, 31] includes a variety of expressive modelling
A Constraint Handling Rules Implementation for KnownArcConsistency in Interactive Constraint Satisfaction Problems
, 2004
"... In classical CLP(FD) systems, domains of variables are completely known at the beginning of the constraint propagation process. However, in systems interacting with an external environment, acquiring the whole domains of variables before the beginning of constraint propagation may cause waste of com ..."
Abstract
 Add to MetaCart
In classical CLP(FD) systems, domains of variables are completely known at the beginning of the constraint propagation process. However, in systems interacting with an external environment, acquiring the whole domains of variables before the beginning of constraint propagation may cause waste of computation time, or even obsolescence of the acquired data at the time of use.
Nondeterministic Programming in Java with
"... Abstract. JSetL is a Java library that endows Java with a number of facilities that are intended to support declarative and constraint (logic) programming. In this paper we show how JSetL can be used to support general forms of nondeterministic programming in an objectoriented framework. This is ob ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. JSetL is a Java library that endows Java with a number of facilities that are intended to support declarative and constraint (logic) programming. In this paper we show how JSetL can be used to support general forms of nondeterministic programming in an objectoriented framework. This is obtained by combining different but related facilities such as logical variables, set data structures, unification, along with a constraint solver that allows the user to solve nondeterministic constraints, as well as to define new constraints using the nondeterminism handling facilities provided by the solver itself. Thus, the user can define her/his own general nondeterministic procedures as new constraints, letting the constraint solver handle them. The proposed solutions are illustrated by showing a number of concrete Java implementations using JSetL, including the implementation of simple Definite Clause Grammars.