Software Analysis Method for Assessing Software Sustainability - Saputri, Theresia Ratih Dewi; Lee, Seok Won (International Journal of Software Engineering and Knowledge Engineering, 2020)
Software sustainability evaluation has become an essential component of software engineering (SE) owing to sustainability considerations that must be incorporated into software development. Several studies have been performed to address the issues associated with sustainability concerns in the SE process. However, current practices extensively rely on participant experiences to evaluate sustainability achievement. Moreover, there exist limited quantifiable methods for supporting software sustainability evaluation. Our primary objective is to present a methodology that can assist software engineers in evaluating a software system based on well-defined sustainability metrics and measurements. We propose a novel approach that combines machine learning (ML) and software analysis methods. To simplify the application of the proposed approach, we present a semi-automated tool that supports engineers in assessing the sustainability achievement of a software system. The results of our study demonstrate that the proposed approach determines sustainability criteria and defines sustainability achievement in terms of a traceable matrix. Our theoretical evaluation and empirical study demonstrate that the proposed support tool can help engineers identify sustainability limitations in a particular feature of a software system. Our semi-automated tool can identify features that must be revised to enhance sustainability achievement.
Keywords: Primary objective; Software analysis; Sustainability assessment; Sustainability considerations; Sustainability criteria; Sustainability evaluations; Sustainability metrics; Theoretical evaluation; machine learning; software-based approach; Sustainability assessment