Show simple item record

Using Symbolic Evaluation to Understand Behavior in Configurable Software Systems

dc.contributor.authorReisner, Elnatan
dc.contributor.authorSong, Charles
dc.contributor.authorMa, Kin-Keung
dc.contributor.authorFoster, Jeffrey S.
dc.contributor.authorPorter, Adam
dc.description.abstractMany modern software systems are designed to be highly configurable, which increases flexibility but can make programs hard to test, analyze, and understand. We present an initial empirical study of how configuration options affect program behavior. We conjecture that, at certain levels of abstraction, configuration spaces are far smaller than the worst case, in which every configuration is distinct. We evaluated our conjecture by studying three configurable software systems: vsftpd, ngIRCd, and grep. We used symbolic evaluation to discover how the settings of run-time configuration options affect line, basic block, edge, and condition coverage for our subjects under a given test suite. Our results strongly suggest that for these subject programs, test suites, and configuration options, when abstracted in terms of the four coverage criteria above, configuration spaces are in fact much smaller than combinatorics would suggest and are effectively the composition of many small, self-contained groupings of options.en_US
dc.relation.ispartofseriesUM Computer Science Department;CS-TR-4946
dc.titleUsing Symbolic Evaluation to Understand Behavior in Configurable Software Systemsen_US
dc.typeTechnical Reporten_US

Files in this item


This item appears in the following Collection(s)

Show simple item record