An Evaluation of General-Purpose Static Analysis Tools on C/C++ Test CodeShow others and affiliations
2022 (English)In: Proc. - Euromicro Conf. Softw. Eng. Adv. Appl., SEAA, Institute of Electrical and Electronics Engineers Inc. , 2022, p. 133-140Conference paper, Published paper (Refereed)
Abstract [en]
In recent years, maintaining test code quality has gained more attention due to increased automation and the growing focus on issues caused during this process. Test code may become long and complex, but maintaining its quality is mostly a manual process, that may not scale in big software projects. Moreover, bugs in test code may give a false impression about the correctness or performance of the production code. Static program analysis (SPA) tools are being used to maintain the quality of software projects nowadays. However, these tools are either not used to analyse test code, or any analysis results on the test code are suppressed. This is especially true since SPA tools are not tailored to generate precise warnings on test code. This paper investigates the use of SPA on test code by employing three state-of-the-art general-purpose static analysers on a curated set of projects used in the industry and a random sample of relatively popular and large open-source C/C++ projects. We have found a number of built-in code checking modules that can detect quality issues in the test code. However, these checkers need some tailoring to obtain relevant results. We observed design choices in test frameworks that raise noisy warnings in analysers and propose a set of augmentations to the checkers or the analysis framework to obtain precise warnings from static analysers.
Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc. , 2022. p. 133-140
Keywords [en]
C++ (programming language), Open source software, Open systems, Program debugging, Quality control, Software testing, Static analysis, Analysis tools, Code quality, Faults detection, Manual process, Performance, Quality of softwares, Software project, Static program analysis, Test code, Test maintenances, Fault detection, test maintenance, testing
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:mdh:diva-61960DOI: 10.1109/SEAA56994.2022.00029Scopus ID: 2-s2.0-85147711435ISBN: 9781665461528 (print)OAI: oai:DiVA.org:mdh-61960DiVA, id: diva2:1738699
Conference
Proceedings - 48th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2022, Gran Canaria, 31 August - 2 September 2022
2023-02-222023-02-222023-02-23Bibliographically approved