Generating Energy-Efficient Source Code by Refactoring

Masterarbeit in der Abteilung Softwaretechnik


The increasing number of mobile devices, like smartphones and tablets, in households and industry is partly responsible for the increasing energy consumption. Meanwhile, the energy consumption for ICT exceeds 10 % of the total energy consumption in Germany. This 10 % can be categorized as households, industry, server and data centers, and mobile devices. The category mobile devices represent 11,6 % of the 10 %, so that it is the fourth biggest energy consumer of ICT. Thereby, the energy consumption of mobile devices accounts approximately 1 % of the German energy consumption. Furthermore, the prognosis for sale of mobile devices is positive and increases every year. On account of high energy consumption and demand of mobile devices, it is important to improve the energy-efficiency in this area to reduce energy costs for users and to save the environment.


One possibility to improve the energy-efficiency for mobile devices is to restructure applications in a way that they still use less energy. In this master thesis, it is done by a refactoring process. Thereby, energy-inefficient code parts are defined as energy refactorings and their analyzing and restructuring are described. Furthermore, applications will be validated by an energy measurement after restructuring to show their energy saving.

Prof. Dr. Andreas Winter ()
M.Sc. Jan Jelschen ()

Related Projects
Software Engineering for Energy Efficiency

Energy Efficiency has become more important in recent years. This is shown by the development of engery consumption of information and communication technology (10 % of the german energy consumption in 2007). Futhermore battery development cannot keep up with the ubiquitous and powerful mobile devices. Research on hardware and low level software optimizations has been comprehensively explored. But the research on optimizing energy consumption on application level is still in its infancy. So in this project should be improved Energy Efficiency of applications by using reengineering services, like static and dynamic program analysis, and systematic code transformations.

Software Quality and Testing
The Quality is an important aspect of software and has high impact on the evolution of software and the possibilities of their modernization. Testing is an important technique to improve the quality of software. This research area targets approaches, techniques, and tools to detect, measure, and improve the quality of software among the whole software life cycle.

(Changed: 2021-04-30)