Quality assurance in software engineering: A journey towards explainable automated solutions - WIDYASARI, Ratnadira (Institutional Knowledge at Singapore Management University, 2024)
In today's digital era, the pervasive influence of software on daily life underscores the necessity for high-quality and reliable systems. Software failures can result in substantial harm and financial losses, highlighting the pivotal role of Software Quality Assurance (SQA). While automated SQA techniques have evolved to aid developers in ensuring software quality, the necessity for explainability in these automated solutions has become equally important. For example, in automated fault localization, only identifying suspicious locations is insufficient; it is essential to provide reasoning on why these locations are suspicious. This dissertation presents a series of interconnected studies aimed at developing explainable automated solutions for SQA tasks, addressing both efficacy and explainability. The first part of this dissertation evaluates existing automated SQA tools, specifically fault localization techniques. The second part enhances the SQA task by incorporating Explainable Artificial Intelligence (XAI). The third part analyzes explanations within SQA activities, with a particular emphasis on code review explanations. Finally, in the fourth part, the dissertation develops explainable automated solutions for SQA tasks, highlighting our work on explainable fault localization and improving the outcomes through cross-validation techniques that underscore the importance of explainability in vulnerability detection. Through these studies, this dissertation aims to bridge the gap between the advanced capabilities of automated SQA tools and the critical need for their explainability. This effort could foster more reliable and user-centered software quality assurance practices.