PhD Summary
I devoted most part of my PhD to study software energy consumption. The full thesis is available here. In the following I distill its main contributions.
I studied two different perspectives: (1) what developers think/do about energy consumption, and (2) what are the energy behavior of parallel Java code.
For the perspective of energy-aware programmers, I had two main contributions:
- Gustavo Pinto, Fernando Castor and Yu David Liu. “Mining Questions About Software Energy Consumption”. Accepted to the 11th Working Conference of Mining Software Repositories (MSR), Hyderabad, India, 2014.
- Irineu Moura, Gustavo Pinto, Felipe Ebert and Fernando Castor. “Mining Energy-Aware Commits”. Accepted to the 12th Working Conference on Mining Software Repositories (MSR), Florence, Italy, 2015.
Although I’m not the first author of the second contribution, I had the idea of this study while doing my PhD, but a master student at the time (Irineu Moura) conducted most part of the study. This paper was not part of my PhD.
Regarding the energy behavior of parallel Java code, I had four contributions:
- Gustavo Pinto, Fernando Castor and Yu David Liu. “Understanding Energy Behaviors of Thread Management Constructs”. Accepted to the 28th ACM Conference on Object-Oriented programming systems, languages, and applications (OOPSLA), Portland, USA, 2014.
- Gustavo Pinto, Kenan Liu, Fernando Castor, Yu David Liu. “A Comprehensive Study on the Energy Efficiency of Java Thread-Safe Collections”. Accepted to the 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME’2016). Raleigh, USA. 2016
- Kenan Liu, Gustavo Pinto and Yu David Liu. “Data-Oriented Characterization of Application-Level Energy Optimization”. Accepted to the 18th International Conference on Fundamental Approaches to Software Engineering (FASE), London, UK, 2015.
- Gustavo Pinto, Anthony Canino, Fernando Castor, Guoqing Harry Xu, Yu David Liu. “Understanding and Overcoming Parallelism Bottlenecks in ForkJoin Applications”. Accepted to the 32nd International Conference on Automated Software Engineering (ASE’2017). Illinois, USA, 2017.
The interesting thing here is that only the first two papers and the last paper ended up on my thesis. The third one, although very related to my PhD, was mostly conducted by Kenan Liu, who was a PhD student at SUNY, the university that I visited during my PhD. The last contribution was accepted 2 years after graduation. However, you may have a hard time to find this fourth paper on my thesis, because this contribution changed a lot after my graduation (particularly thanks to Antony Canino, who did a great job working with Scala+Akka).
I also have other small contributors that appear as posters or students-related tracks.
- Gustavo Pinto and Fernando Castor. “On The Implications of Language Constructs for Concurrent Execution for the Energy Efficiency of Multicore Applications”. Accepted to the 4th ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), Indianapolis, EUA, 2013.
- Gustavo Pinto. “Do Language Constructs for Concurrent Execution Have Impact on Energy Efficiency?”. Accepted to the ACM Student Research Competition at the 4th ACM Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH), Indianapolis, EUA, 2013.
- Gustavo Pinto. “Refactoring Multicore Applications Towards Energy Efficiency”. Accepted to the Doctoral Symposium at the 4th ACM Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH), Indianapolis, EUA, 2013.
After years of working on the same subject, I acquired a reasonable good perception of the field. After one ICSE conference, I decided to write a position paper summarizing the goals achieved and the problems ahead. This position paper ended up being my last contribution to this field:
- Gustavo Pinto, Fernando Castor. “Energy Efficiency: A New Concern for Application Software Developers”. Communications of the ACM 60(12), December 2017.
Not quite last contribution. I recently had a master student who got interested in working with energy consumption, and we had a paper accepted in a Brazilian workshop (and a follow up version was also published on ESEM’2019):
- Gilson Rocha, Gustavo Pinto, Fernando Castor. Caracterizando o Consumo de Energia de APIs de E/S da Linguagem Java. Accepted to the 6th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM’2018). São Carlos, Brazil, 2018.
- Gilson Rocha, Gustavo Pinto, Fernando Castor. “Comprehending Energy Behaviors of Java I/O APIs”. Accepted to the 13th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM’2019). Porto de Galinhas, Brazil. September 2019.
However, I do plan to move ahead and work less and less with this energy consumption field. As Andreas Zeller often says: “get our of a field when too crowded”.
Here's the slides of my talk "On Impact in Software Engineering Research". Enjoy! https://t.co/GWmLZpQeRb
— Andreas Zeller (@AndreasZeller) January 15, 2018