Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
About
Download Photo HD

About

I am currently attending the final year of the Informatics Engineering Masters Degree in University of Minho.

My master thesis is entitled "Java Stream Optimization through Program Fusion" and is being developed under the Green Software Lab: Green Computing as an Engineering Discipline (GSL) project.

Interest
Topics
Details

Details

  • Name

    Francisco José Ribeiro
  • Cluster

    Computer Science
  • Role

    Research Assistant
  • Since

    05th April 2017
Publications

2019

Java Stream Fusion: Adapting FP mechanisms for an OO setting

Authors
Ribeiro, F; Saraiva, J; Pardo, A;

Publication
XXIII BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES

Abstract
In this paper, we show how stream fusion, a program transformation technique used in functional programming, can be adapted for an Object-Oriented setting. This makes it possible to have more Stream operators than the ones currently provided by the Java Stream API. The addition of more operators allows for a greater deal of expressiveness. To this extent, we show how these operators are incorporated in the stream setting. Furthermore, we also demonstrate how a specific set of optimizations eliminates overheads and produces equivalent code in the form of for loops. In this way, programmers are relieved from the burden of writing code in such a cumbersome style, thus allowing for a more declarative and intuitive programming approach.

2018

Energyware analysis

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

Publication
CEUR Workshop Proceedings

Abstract
This documents introduces \Energyware" as a software engineering discipline aiming at defining, analyzing and optimizing the energy consumption by software systems. In this paper we present energyware analysis in the context of programming languages, software data structures and program's source code. For each of these areas we describe the research work done in the context of the Green Software Laboratory at Minho University: we describe energyaware techniques, tools, libraries, and repositories. © 2018 by the paper's authors.

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

2017

Towards a Green Ranking for Programming Languages

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

Publication
PROCEEDINGS OF THE 21ST BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES (SBLP 2017)

Abstract
While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption. Additionally, a growing number of developers wish to become more energy-aware when programming and feel a lack of tools and the knowledge to do so. In this paper we define a ranking of energy efficiency in programming languages. We consider a set of computing problems implemented in ten well-known programming languages, and monitored the energy consumed when executing each language. Our preliminary results show that although the fastest languages tend to be the lowest consuming ones, there are other interesting cases where slower languages are more energy efficient than faster ones.