Henrique Rebelo

Registered user since Tue 28 Oct 2014

Name:Henrique Rebelo

My chief [and long-term] research interest is at improving the productivity of programmers by enabling them to write programs that, as much as possible, look like their design [and design constraints]. I believe that programs that clearly capture the design structure and interfaces they implement are more configurable, fun to develop and easier to maintain.

In pursuit of this goal, my research has been focused in programming language design and implementation, including software engineering, tools and related issues.

I have worked massively in the area of design by contract (DbC) and aspect-oriented programming (AOP). In the former, I have contributed extensively to the implementation of the JML specification language and its [RAC] compiler. In the latter, more recently, I’m excited to have started the next generation of aspect-oriented programming, as outlined in my SBLP 2017 talk. In this context, I’m leading the development of aspect-oriented programming reloaded project, which includes the AspectJML programming language and its Online IDE. AspectJML is [now] a general-purpose aspect-oriented extension to Java. It supports programming in Java, JML, AspectJ, AspectJML, or a mixin of all that. Hence, some of my current research in the Software Productivity Group is AOP[Reloaded]/AspectJML related.

Affiliation:Universidade Federal de Pernambuco
Research interests:Programming Languages, Modularity, Software Engineering


FTfJP 2022 Session Chair of FTfJP 2022 C (part of FTfJP)
Session Chair of FTfJP 2022 D (part of FTfJP)
Committee Member in Organizing Committee within the FTfJP 2022-track
Conference Chair in Program Committee Chair within the FTfJP-track
ICST 2021 Author of Demystifying the Challenges of Formally Specifying API Properties for Runtime Verification within the Research Papers-track
SPLASH 2020 Accessibility Chair in Organizing Committee
Committee Member in Program Commitee within the SPLASH-E-track
ESEC/FSE 2018 Publications Chair in Organizing Committee
ECOOP 2016 Committee Member in Artifact Evaluation Committee within the Artifacts-track
Modularity 2016 Students Event Co-Chair in Organizing Committee within the Student Research Competition-track
Students Event Co-Chair in Organizing Committee
SPLASH 2013 Author of Client-Aware Checking and Information Hiding in Interface Specifications with JML/ajmlc within the Demonstrations-track
Author of Identifying and Specifying Crosscutting Contracts with AspectJML within the ACM SRC-track
SPLASH 2011 Author of Towards Client-Aware Interface Specifications within the Doctoral Symposium-track