Publication | Closed Access
Configuration coverage in the analysis of large-scale system software
40
Citations
10
References
2012
Year
Software MaintenanceEngineeringTest CoverageSoftware EngineeringSoftware AnalysisFormal VerificationSoftware EnvironmentSystems EngineeringStatic CheckingFull CoverageSoftware Configuration ManagementRuntime VerificationStatic AnalysisComputer EngineeringComputer ScienceConfiguration CoverageFull ConfigurationStatic Program AnalysisSoftware DesignOperating SystemsProgram AnalysisSoftware TestingFormal MethodsFault InjectionSystem Software
System software, especially operating systems, tends to be highly configurable. Like every complex piece of software, a considerable amount of bugs in the implementation has to be expected. In order to improve the general code quality, tools for static analysis provide means to check for source code defects without having to run actual test cases on real hardware. Still, for proper type checking a specific configuration is required so that all header include paths are available and all types are properly resolved. In order to find as many bugs as possible, usually a "full configuration" is used for the check. However, mainly because of alternative blocks in form of #else-blocks, a single configuration is insufficient to achieve full coverage. In this paper, we present a metric for configuration coverage (CC) and explain the challenges for (properly) calculating it. Furthermore, we present an efficient approach for determining a sufficiently small set of configurations that achieve (nearly) full coverage and evaluate it on a recent Linux kernel version.
| Year | Citations | |
|---|---|---|
Page 1
Page 1