@article {Barros:2012:ASS:2215646.2215650, title = {Assertion-based slicing and slice graphs}, journal = {Formal Aspects of Computing}, volume = {24}, number = {2}, year = {2012}, pages = {217{\textendash}248}, publisher = {Springer-Verlag}, address = {London, UK, UK}, abstract = {

This paper revisits the idea of slicing programs based on their axiomatic semantics, rather than using criteria based on control/data dependencies. We show how the forward propagation of preconditions and the backward propagation of post conditions can be combined in a new slicing algorithm that is more precise than the existing specification-based algorithms. The algorithm is based on (i) a precise test for removable statements, and (ii) the construction of a slice graph, a program control flow graph extended with semantic labels. It improves on previous approaches in two aspects: it does not fail to identify removable commands; and it produces the smallest possible slice that can be obtained (in a sense that will be made precise). The paper also reviews in detail, through examples, the ideas behind the use of preconditions and post conditions for slicing programs.

}, keywords = {Control flow graphs, Program analysis, Verification conditions}, issn = {0934-5043}, doi = {10.1007/s00165-011-0196-1}, attachments = {https://haslab.uminho.pt/sites/default/files/jsp/files/sefm2010specslicing-camera-ready_0.pdf}, author = {Jos{\'e}~Bernardo Barros and Daniela Cruz and Pedro Rangel Henriques and Jorge Sousa Pinto} }