Title :
Kato: A Program Slicing Tool for Declarative Specifications
Author :
Uzuncaova, Engin ; Khurshid, Sarfraz
Author_Institution :
Univ. of Texas at Austin, Austin, TX
Abstract :
This paper presents Kato, a tool that implements a novel class of optimizations that are inspired by program slicing for imperative languages but are applicable to analyzable declarative languages, such as Alloy. Kato implements a novel algorithm for slicing declarative models written in Alloy and leverages its relational engine KodKodfor analysis. Given an Alloy model, Kato identifies a slice representing the model´s core: a satisfying instance for the core can systematically be extended into a satisfying instance for the entire model, while unsatisfiability of the core implies unsatisfiability of the entire model. The experimental results show that for a variety of subject models Kato´s slicing algorithm enables an order of magnitude speed-up over Alloy´s default translation to SAT.
Keywords :
formal specification; program slicing; software tools; Alloy model; Kato tool; KodKodfor analysis; SAT; declarative languages; declarative specifications; imperative languages; program slicing; Algorithm design and analysis; Automatic testing; Buildings; Cost accounting; Engines; Optimizing compilers; Software algorithms; Software systems; Software testing; System testing;
Conference_Titel :
Software Engineering, 2007. ICSE 2007. 29th International Conference on
Conference_Location :
Minneapolis, MN
Print_ISBN :
0-7695-2828-7
DOI :
10.1109/ICSE.2007.47