Developers practices related to Sustainability in Software Systems

MSc thesis, University of Bern and Zurich, Switzerland, 2023

ABSTRACT

The intensive use of software in many aspects of industries is becoming more and more common. Including other factors impacting climate, the technology sector also plays a role. Therefore, in recent years, software engineering research has attempted to comprehend the energy consumption and implication of the software development process by building various tools and frameworks. However, not all developers are aware of sustainable software, or energy-efficient practices; therefore, developing green software is still a challenge.

In SE, design patterns are a popular concept to reason about design choices, performances, and code comprehensibility.Cruz et al., developed a catalog of 22 design patterns related to the energy efficiency of mobile apps. Various other research works tested these design patterns on different domains, such as mobile testing frameworks, Cyber-physical, API libraries, and the Internet of Things. However, there are still plenty of domains and topics where energy-efficient patterns are unknown.

Research questions:

  • To what extent such energy patterns are prevalent in web software systems. How can we identify energy antipatterns in software-systems?

STEPS:

  • Literature review to identify more energy-efficient design patterns if any mentioned, related to our domain of interest.
  • Measure the energy consumption of the current software of the company.
  • Analyze the extent to which the selected 22 patterns are adopted in the current software.
  • Make developers aware of the patterns.
  • Conduct a survey to verify if developers that are aware have any impact on their software development process.

Find the first presenation here.