Home Papers Talks Projects CV Henrique Rebęlo Professor 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. 4344 [voice] +55 81 2126 8438 [FAX] hemr@cin.ufpe.br Office: A007 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 [slides]. 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. 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. I am actively recruiting motivated students who are interested in software engineering, programming languages, and related topics. I am interested in new students at both the undergraduate and graduate level. AspectJML 1.8.0 - Released [27-Ago-2019], The fun has just begun! Have fun now! Online! ************************************************************************************************************* FTfJP'22 - Program Chair, The 24th Workshop on Formal Techniques for Java-like Programs ESEC/FSE'18 - Publications Chair, The 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering SEKE'18 - PC Member, 30th International Conference on Software Engineering and Knowledge Engineering SBLP'17 - PC Member, 21st Brazilian Symposium on Programming Languages SBCARS'17 - PC Member, 11th Brazilian Symposium on Software Components, Architectures, and Reuse Modularity'16 - Student Events (SRC) Co-Chair, 15th ACM International Conference on Modularity FOAL'16 - PC Chair and Organizer, 15th Workshop on Foundations of Aspect-Oriented Languages Modularity'15 - Publicity Chair and PC Member, 14th ACM International Conference on Modularity Modularity'15 - Position Papers PC Member, 14th ACM International Conference on Modularity FOAL'15 - Organizer and PC Member, 14th Workshop on Foundations of Aspect-Oriented Languages SEKE'15 - PC Member, 27th International Conference on Software Engineering and Knowledge Engineering WMod'14 - Co-Chair and Organizer, 11th Workshop on Software Modularity LA-WASP'13 - PC Member and Organizer, 7th Latin American Workshop on Aspect-Oriented Software Development Centro de Informática UFPE Cidade Universitária - CEP 50740-540 Recife/PE - Brazil
Home
Papers
Talks
Projects
CV
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 [slides]. 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.
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.
I am actively recruiting motivated students who are interested in software engineering, programming languages, and related topics. I am interested in new students at both the undergraduate and graduate level.
Centro de Informática UFPE Cidade Universitária - CEP 50740-540 Recife/PE - Brazil