News > Thesis Defense - Mohammed Chakib Belgaid

Mohammed Chakib Belgaid has defended his thesis today (14 dec. 2022). Congratulation doctor! 🎉

Thesis title

Green Coding : an Empirical Approach to Harness the Energy Consumption of Software Services


The ICT sector is claimed to account for 2% of global emissions. Even though this might seem like a small number, the success of ICT technologies will always lead to more greenhouse gas emissions. In 2019, the number of data centers worldwide was 1.5 million, which is expected to reach 2.5 million by 2025. In this situation, lowering the emissions from the ICT sector depends on reducing the amount of energy used by data centers. There are three main methods to achieve this goal: improving the hardware’s efficiency, lowering the cooling systems’ energy consumption, or decreasing the energy consumption of the servers themselves. This thesis focuses on the last approach, which I believe is the most affordable one, as it does not require any physical changes to data centers. My goal is to assist developers in making more eco-friendly software services by providing them with tools and guidelines to create software that runs on servers while consuming less energy. To do so, I decided to pursue an empirical approach consisting of three steps: test, measure, and optimize.

The reason for such a decision is to follow the rapid pace of the software industry. In fact, the software industry has one of the fastest growth rates, which makes it challenging to keep up with the newest technologies. So, instead of just reporting my insights, I gave practitioners the means and protocols to allow them to test their hypotheses. I believe that some of the insights shared as part of this thesis might already have become obsolete when published.

Due to the urgency of the climate change issue, I decided first to harness the most popular yet energy-hungry programming language, Python. Therefore, I started by analyzing Python’s code’s energy behavior during its most commonly used cases. Then, I provided a non-intrusive technique to reduce its energy consumption. After that, I extended this strategy to another programming language famous for its legacy code base, Java, to show that we can still reduce the energy consumption of already running applications without paying a considerable price.

Finally, I adopted a more systemic approach. Instead of optimizing one single application, can one reduce the energy consumption of the data center as a whole entity? Thanks to the micro-services architecture, one application can be constructed using many services, each independent of the other. This type of architecture releases us from the bond of adopting a single programming language as the monolithic application does. And with this, one can use multiple programming languages and take advantage of the strengths of each one for a specific scenario. The last chapter analyzed the energy behavior of several programming languages regarding web services while opening a new path toward sustainability within timeless applications.

Find out more