SPLat: Lightweight dynamic analysis for reducing combinatorics in testing configurable systems

Chang Hwan Peter Kim, Darko Marinov, Sarfraz Khurshid Don Batory, Sabrina Souto, Paulo Barros, Marcelo D'Amorim

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publication2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 - Proceedings
Pages257-267
Number of pages11
DOIs
StatePublished - Sep 16 2013
Event2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 - Saint Petersburg, Russian Federation
Duration: Aug 18 2013Aug 26 2013

Publication series

Name2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 - Proceedings

Other

Other2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013
CountryRussian Federation
CitySaint Petersburg
Period8/18/138/26/13

Keywords

  • Configurable systems
  • Efficiency
  • Software product lines
  • Software testing

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'SPLat: Lightweight dynamic analysis for reducing combinatorics in testing configurable systems'. Together they form a unique fingerprint.

Cite this