Statische Codeanalyse zur Ermittlung der Nachhaltigkeit von Software im Bankenumfeld

  • Matthias Georg Niemann

    Student thesis: Master's Thesis

    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 analysis
    can 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 Award2024
    Original languageGerman (Austria)
    SupervisorStefan Wagner (Supervisor) & Josef Mader-Kreiner (Supervisor)

    Studyprogram

    • Software Engineering

    Cite this

    '