Abstract
This master’s thesis addresses the topic of static code analysis for determining the sustainability of software in the banking sector and demonstrates how static code analysiscan make a significant contribution to a more environmentally friendly world. Particularly in the realm of software engineering, there is great potential to reduce the ecological
footprint of IT systems through intelligent solutions.
Software systems in the banking sector are characterized by high complexity. The
interaction of numerous components, which are based on different technologies and operated in heterogeneous infrastructures, poses significant challenges for the operation
and development of such systems. A central challenge is to maintain and continuously
optimize the efficiency of these banking systems without negatively impacting the environment.
In detail, this work deals with static code analysis in the context of sustainability. The earlier software developers are alerted to potential deficiencies in the resource
efficiency and environmental friendliness of their code, the more cost-effective, faster,
and more efficiently these issues can be resolved. Static code analysis is particularly
well-suited for this task as it can provide rapid feedback on such deficiencies. In large
software projects, Continuous Integration/Continuous Deployment (CI/CD) pipelines
are typically used, into which a static code analysis tool can be easily integrated. This
allows for an efficient and straightforward implementation of a process for quick feedback
on code sustainability.
The goal of this thesis is to implement static code analysis using a custom-developed
prototype that is specifically optimized for the banking sector and makes the sustainability of source code measurable. For this purpose, specific sustainability metrics are
needed to quantify the sustainability of the code. The development and definition of
this metrics suite form a central part of the work. Additionally, it is crucial that these
metrics are adaptable to different domains. The thesis demonstrates how the weighting
of the metrics can be flexibly designed and implemented, and how a possible weighting
for the banking sector might look like to meet the specific requirements of this industry.
By aggregating the individual metrics, a sustainability index can be calculated,
allowing for the comparison of different codebases in terms of their sustainability. The
developed prototype will be used to analyze various codebases and collect the necessary
data. This data will then be evaluated and thoroughly analyzed to gain well-founded
insights into the sustainability of the examined software.
Date of Award | 2024 |
---|---|
Original language | German (Austria) |
Supervisor | Stefan Wagner (Supervisor) & Josef Mader-Kreiner (Supervisor) |