PathFinder - An Intelligent Algorithm for MCDC Test-Path Generation

2024-1-31
Şimşekoğlu, İsmail
Introducing Pathfinder, an innovative automated tool designed for generating comprehensive test cases in the realm of C language source codes. The primary objective is to fulfill Modified Condition/Decision Coverage (MC/DC) criteria, and Pathfinder follows a meticulously crafted methodology. The process unfolds in structured phases, commencing with source code parsing, advancing to the creation of a Control Flow Graph (CFG), and culminating in the systematic generation of test paths along with the determination of potential expected results. Python, a widely used language known for its parsing capabilities and robust libraries, equips Pathfinder to tackle the inherent challenges presented by the intricacies of C language syntax. The project's emphasis on safety-critical industries, such as automotive and aerospace, aligns with the prevalent use of C in these sectors. The report provides a comprehensive exploration of each phase, from foundational source code parsing to the crucial role of identifying expected results in software testing. Pathfinder's implementation encounters challenges, duly acknowledged and addressed in the report. These include complexities inherent in C language, parsing intricacies, scalability concerns with large codebases, and performance limitations of Python. The report concludes with a forward-looking perspective on Pathfinder's future evolution. Envisaged enhancements involve broadening language feature support, incorporating external function analysis for more accurate predictions, and exploring the integration of machine learning algorithms. These strides aim to position Pathfinder as a versatile and refined tool adept at addressing the dynamic landscape of software development and testing practices.
Citation Formats
İ. Şimşekoğlu, “PathFinder - An Intelligent Algorithm for MCDC Test-Path Generation,” M.S. - Master Of Science Without Thesis, Middle East Technical University, 2024.