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

João Saraiva is Professor Auxiliar at the Departmento de Informática, Universidade do Minho, Braga, Portugal, and a researcher member of HASLab/INESC TEC. He obtained a MSc degree from University do Minho in 1993 and a Ph.D. degree in Computer Science from Utrecht University in 1999. His main research contributions have been in the field of program language design and implementation, program analysis and transformation, and functional programming. He supervised 4 (FCT funded) PostDoc projects, 8 PhD projects (5 awarded and 3 running) and over 30 (Pos-Bologna) MSc thesis. He has published over 80 publications (scopus) in conferences and journals. He has served in over 60 program committees of international events, and in the evaluation committees of 5 research agencies: ANII (Uruguay), FRS-FNRS (Belgium), NWO (The Netherlands), FWF (Austria), and FCT (Portugal).

He has experience in participating and coordinating research projects in his research areas, both at national level with projects funded by FCT (projects: PURe, IVY, AMADEUS, CROSS, SSaaPP, AutoSeer, FATBIT, and GreenSwLab) and at international level with projects funded by EPSRC (UK), FLAD/NSF (USA) and by the European Union.

João Saraiva is one of the founders of the successful series of summer schools on Generative and Transformational Techniques in Software Engineering (GTTSE), which he co-organized in 2005, 2007, 2009, 2011, and 2015 (volumes 4143, 5235, 6491, and 7680 of LNCS - Tutorial by Springer-Verlag) in Braga. He was the organizing chair of ETAPS'07, The European Joint Conferences on Theory and Practice of Software, organized in Braga in 2007, and a member of its scientific committee (2007-2012).

Interest
Topics
Details

Details

  • Name

    João Alexandre Saraiva
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st November 2011
Publications

2019

Memoized zipper-based attribute grammars and their higher order extension

Authors
Fernandes, JP; Martins, P; Pardo, A; Saraiva, J; Viera, M;

Publication
Science of Computer Programming

Abstract
Attribute grammars are a powerfull, well-known formalism to implement and reason about programs which, by design, are conveniently modular. In this work we focus on a state of the art zipper-based embedding of classic attribute grammars and higher-order attribute grammars. We improve their execution performance through controlling attribute (re)evaluation by means of memoization techniques. We present the results of our optimizations by comparing their impact in various implementations of different, well-studied, attribute grammars and their Higher-Order extensions. © 2018 Elsevier B.V.

2018

jStanley: placing a green thumb on Java collections

Authors
Pereira, R; Simão, P; Cunha, J; Saraiva, J;

Publication
Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, Montpellier, France, September 3-7, 2018

Abstract

2018

Proceedings of the 6th International Workshop on Green and Sustainable Software, GREENS@ICSE 2018, Gothenburg, Sweden, May 27, 2018

Authors
Malavolta, I; Kazman, R; Saraiva, J;

Publication
GREENS@ICSE

Abstract

2017

Products go Green: Worst-Case Energy Consumption in Software Product Lines

Authors
Couto, M; Borba, P; Cunha, J; Fernandes, JP; Pereira, R; Saraiva, J;

Publication
Proceedings of the 21st International Systems and Software Product Line Conference, SPLC 2017, Volume A, Sevilla, Spain, September 25-29, 2017

Abstract
The optimization of software to be (more) energy efficient is becoming a major concern for the software industry. Although several techniques have been presented to measure energy consumption for software, none has addressed software product lines (SPLs). Thus, to measure energy consumption of a SPL, the products must be generated and measured individually, which is too costly. In this paper, we present a technique and a prototype tool to statically estimate the worst case energy consumption for SPL. The goal is to provide developers with techniques and tools to reason about the energy consumption of all products in a SPL, without having to produce, run and measure the energy in all of them. Our technique combines static program analysis techniques and worst case execution time prediction with energy consumption analysis. This technique analyzes all products in a feature-sensitive manner, that is, a feature used in several products is analyzed only once, while the energy consumption is estimated once per product. We implemented our technique in a tool called Serapis. We did a preliminary evaluation using a product line for image processing implemented in C. Our experiments considered 7 products from such line and our initial results show that the tool was able to estimate the worst-case energy consumption with a mean error percentage of 9.4% and standard deviation of 6.2% when compared with the energy measured when running the products. © 2017 ACM.

2017

Energy efficiency across programming languages: how do energy, time, and memory relate?

Authors
Pereira, R; Couto, M; Ribeiro, F; Rua, R; Cunha, J; Fernandes, JP; Saraiva, J;

Publication
Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, Vancouver, BC, Canada, October 23-24, 2017

Abstract

Supervised
thesis

2017

Energy Analysis in the CodeCompass system

Author

Institution
UM

2015

Energy-Aware Software Product Lines

Author
Marco Rafael Linhares Couto

Institution
UM

2015

Analyzing and Optimizing Abnormal Energy Consumption in Software Systems

Author
Rui Alexandre Pereira

Institution
UM

2015

Catálogo de Usability Smells

Author
Diogo Francisco de Carvalho Almeida

Institution
UM

2015

Evolução de Folhas de Cálculo Baseadas em Models num Ambiente Colaborativo

Author
Jorge Cunha Mendes

Institution
UM