Mastroieni, Isabella and Zanardini, Damiano
Data dependencies and program slicing: from syntax to abstract semantics.
In: "ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation, PEPM'08", 07/01/2008-08/01/2008, San Francisco, California. ISBN 978-159-5939-777.
We discuss the relation between program slicing and data dependencies. We claim that slicing can be defined, and therefore calculated, parametrically on the chosen notion of dependency, which implies a different result when building the program dependency graph. In this framework, it is possible to choose dependency in the syntactic or semantic sense, thus leading to compute possibly different, smaller slices. Moreover, the notion of abstract dependency, based on properties instead of exact data values, is investigated in its theoretical meaning. Constructive ideas are given to compute abstract dependencies on expressions, and to transform properties in order to rule out some dependencies. The application of these ideas to information flow is also discussed. Categories and Subject Descriptors D.2.4 [Software/Program Verification]: Formal Methods; D.3.1 [Formal Definitions and Theory]: Semantics; F.3.2 [Semantics of Programming Languages]:Program analysis; I.1.0 [General]General Terms Languages, Security, Theory, Verification