Publication | Closed Access
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems
67
Citations
27
References
2013
Year
Unknown Venue
Software MaintenanceMany ProgramsConfigurable SystemsEngineeringLightweight Dynamic AnalysisVerificationComputer ArchitectureTest Data GenerationSoftware EngineeringSoftware AnalysisFormal VerificationComputational TestingSoftware Performance TestingTest AutomationSystems EngineeringConfiguration VariablesSystem TestingStatic AnalysisComputer EngineeringComputer ScienceDesign For TestingSoftware DesignProgram AnalysisSoftware TestingFormal MethodsCombinatorial Testing WorkflowSystem Software
Many programs can be configured through dynamic and/or static selection of configuration variables. A software product line (SPL), for example, specifies a family of programs where each program is defined by a unique combination of features. Systematically testing SPL programs is expensive as it can require running each test against a combinatorial number of configurations. Fortunately, a test is often independent of many configuration variables and need not be run against every combination. Configurations that are not required for a test can be pruned from execution. This paper presents SPLat, a new way to dynamically prune irrelevant configurations: the configurations to run for a test can be determined during test execution by monitoring accesses to configuration variables. SPLat achieves an optimal reduction in the number of configurations and is lightweight compared to prior work that used static analysis and heavyweight dynamic execution. Experimental results on 10 SPLs written in Java show that SPLat substantially reduces the total test execution time in many cases. Moreover, we demonstrate the scalability of SPLat by applying it to a large industrial code base written in Ruby on Rails.
| Year | Citations | |
|---|---|---|
Page 1
Page 1