@mastersthesis {Bacci11,
	title = {An Abstract Interpretation Framework for Semantics and Diagnosis of Lazy Functional-Logic Languages},
	number = {??},
	year = {2012},
	school = {Universit{\`a} di Udine},
	type = {Ph.D.},
	abstract = {This thesis presents a fixed-point semantics for Curry programs which is fully-abstract with respect to the computed (I/O) behavior. Curry is a declarative language that combines in a seamless way features from functional programming (nested expressions, lazy evaluation, higher-order functions) and logic programming (logical variables, partial data structures, built-in search). Among other proposals, the presented semantics has the following pragmatical features: it is goal-independent, condensed and it is a congruence w.r.t. usage (i.e. unions among modules). We also described an abstract interpretation framework for systematically obtain, from this semantics, several abstract semantics which approximate the (I/O) behavior of a Curry program. These kinds of abstract semantics are particularly suitable for developing efficacious semantics-based program manipulation tools. 
To support this claim some applications as been provided: a static analyzer for groundness dependencies, an abstract debugging/diagnosis method, and an automatic method for synthesizing algebraic property-oriented specifications. Moreover, by means of a program transformation into a Curry semantic-equivalent version, these tools also apply to first order purely functional Haskell programs.},
	keywords = {Abstract Interpretation, Curry, Functional-logic Programming},
	author = {Giovanni Bacci}
}
@proceedings {BacciCFV11,
	title = {Automatic Synthesis of Specifications for Curry Programs},
	journal = {Logic-based Program Synthesis and Transformation, 21th International Symposium {\textendash} Pre-Proceedings},
	year = {2011},
	note = {To appear},
	publisher = {Springer-Verlag},
	address = {Odense, Denmark},
	abstract = {This extended abstract presents a technique to automatically infer specifications from Curry programs. Program specifications (in particular, automatically derived specifications) have been used for program verification, understanding, documentation, service discovering or testing. Our technique, statically infers from the source code of a Curry program a specification which consists of a set of semantic properties that the program operations satisfy. These properties are given by means of equations relating (nested) operation calls that have the same behavior. Our method relies on the semantics of [<a href="http://flit.dimi.uniud.it/?q=biblio/baccic10conc">1</a>] for achieving, to some extent, the correctness of the inferred specification, as opposed to other similar tools based on testing.
In this paper, we present the main ideas of the approach emphasizing the difficulties addressed for the case of the Curry language.},
	keywords = {Abstract Interpretation, Algebraic-oriented Specification, Curry},
	author = {Giovanni Bacci and Marco Comini and Marco Antonio Feli{\'u} and Alicia Villanueva}
}
@article {BacciC10conc,
	title = {A Compact Goal-Independent Bottom-Up Fixpoint Modeling of the Behaviour of First Order Curry},
	number = {6/2010},
	year = {2010},
	publisher = {Dipartimento di Matematica e Informatica, Universit{\`a} di Udine},
	abstract = {This work is motivated by the fact that a {\textquotedblleft}compact{\textquotedblright} semantics for functional logic languages, which is essential for the development of efficacious semantics-based program manipulation tools (e.g. automatic program analyzers and debuggers), does not exist. The operational or the rewriting logic semantics that are most commonly considered in func- tional logic are unnecessarily oversized, as they contains many {\textquotedblleft}semantically useless{\textquotedblright} elements that can be retrieved from a smaller set of {\textquotedblleft}basic{\textquotedblright} elements. Therefore, in this article, we present a compressed, goal-independent bottom-up fixpoint semantics that is correct and minimal w.r.t. answers computed for Curry expressions.
We believe that the compactness of the semantics makes it particularly suitable for applications. Actually, our semantics can be finite whereas the big-step semantics is generally not, and even when both semantics are infinite, the fixpoint computation of our semantics produces fewer elements at each step.},
	keywords = {Abstract Interpretation, call-time choice semantics, Functional-logic Programming},
	url = {http://www.dimi.uniud.it/comini/Papers/},
	author = {Giovanni Bacci and Marco Comini}
}
