Detalhes do Documento

Assertion-based slicing and slice graphs

Autor(es): Barros, José Bernardo cv logo 1 ; Cruz, Daniela da cv logo 2 ; Henriques, Pedro Rangel cv logo 3 ; Pinto, Jorge Sousa cv logo 4

Data: 2012

Identificador Persistente: http://hdl.handle.net/1822/14209

Origem: RepositóriUM - Universidade do Minho

Assunto(s): Program slicing; Program analysis; Verification conditions; Control flow graphs


Descrição
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 postconditions 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 \emph{slice graph}, a program control flow graph extended with semantic labels and additional edges that ``short-circuit'' removable commands. 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). Iteration is handled through the use of loop invariants and variants to ensure termination. The paper also discusses in detail applications of these forms of slicing, including the elimination of (conditionally) unreachable and dead code, and compares them to other related notions.
Tipo de Documento Artigo
Idioma Inglês
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo

Documentos Relacionados



    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento União Europeia