Henrique Rebelo's Home Page








Henrique Rebęlo
Centro de Informática
Universidade Federal de Pernambuco

Ph.D. in Computer Science, CIn-UFPE, Brazil (2014)
    In cooperation with University of Central Florida, USA

MSR Intern, Microsoft Research, USA (2010)

+55 (81) 2126 8430 ext. 4770 [voice]
+55 (81) 2126 8430 [FAX]

My research is directly related to enable programmers to write better programs and program specifications that, as much as possible, look like their design (constraints). I believe that programs that clearly express their specifications and the design structure they implement are easier to maintain. Hence, questions such as what a part of the program does? (without looking at its implementation) and what other parts of the program depend on that behavior become easier to answer.

In pursuit of this goal, most of my research has been in the design and implementation of modularity mechanisms, specially for design by contract languages. I am also interested in programming environments, coding and specification styles, and other kinds of tools (e.g. runtime checking tools).

I have worked extensively in the areas of design by contract (DbC) and aspect-oriented programming (AOP). In this context, since my PhD, I'm leading the development of the aspect-oriented extension to the JML design by contract language, called AspectJML.

I also had the good fortune to work as a research intern (supervised by Shuvendu Lahiri) at the Microsoft Research, Redmond in the Research in Software Engineering (RiSE) group that developed SymDiff, a language-agnostic tool for equivalence checking to reason about imperative program changes. In a nutshell, Symdiff can be summarized as Windiff for behaviors. It builds up on recent advances on program equivalence checking using automated SMT solvers. However, it extends beyond program equivalence and deals with questions such as: (1) can one infer the conditions under which two programs are equivalent? (2) how do the changes affect the public API? Some of my current research is program equivalence checking related.

Modularity'15 - PC Member, 14th ACM International Conference on Modularity
WMod'14 - Co-Chair and Organizer, 11th Workshop on Software Modularity
SEKE'14 - PC Member, 26th International Conference on Software Engineering and
Knowledge Engineering

IJAS - Editorial Board, International Journal On Advances in Software
VALID'14 - PC Member, 6th IARIA Intl. Conference on Advances in System Testing and
Validation Lifecycle

SEKE'13 - PC Member, 25th International Conference on Software Engineering and
Knowledge Engineering

LA-WASP'13 - Organizer and PC member, 7th Latin American Workshop on Aspect-Oriented
Software Development: Advanced Modularization Techniques

VALID'13 - PC Member, 5th IARIA Intl. Conference on Advances in System Testing and
Validation Lifecycle

Centro de Informática UFPE
Cidade Universitária - CEP 50740-540
Recife/PE - Brazil