Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
About

About

I am an Associate Professor at the Department of Informatics of the University of Minho and a Senior Researcher at HASLab/INESC TEC.

I hold a D.Phill in Computation from The University of Oxford.

My current interests are in  formal aspects of programming, namely the correctness of programs and methods of building correct programs.

For the last 20 years I have been teaching courses on functional and imperative programming as well as a course on algorithms and complexity to undergraduate students at Universidade do Minho.

I am also a member of the MFES (formal methods for software engineering) team in the MSc in Informatics Engineering.

Interest
Topics
Details

Details

  • Name

    José Bernardo Barros
  • Cluster

    Computer Science
  • Role

    Affiliated Researcher
  • Since

    01st November 2011
001
Publications

2012

Assertion-based Slicing and Slice Graphs

Authors
José Bernardo Barros; Daniela Cruz; Pedro Rangel Henriques; Jorge Sousa Pinto

Publication
Formal Aspects of Computing - Formal Aspects of Computing, vol.24, no.2, pp.217-248

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.