Using symbolic evaluation to understand behavior in configurable software systems
Many 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 abstracti...
Saved in:
Published in | 2010 ACM/IEEE 32nd International Conference on Software Engineering Vol. 1; pp. 445 - 454 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
New York, NY, USA
ACM
01.05.2010
IEEE |
Series | ACM Conferences |
Subjects | |
Online Access | Get full text |
ISBN | 9781605587196 1605587192 |
ISSN | 0270-5257 |
DOI | 10.1145/1806799.1806864 |
Cover
Abstract | Many 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. |
---|---|
AbstractList | Many 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. |
Author | Foster, Jeffrey S. Porter, Adam Reisner, Elnatan Song, Charles Ma, Kin-Keung |
Author_xml | – sequence: 1 givenname: Elnatan surname: Reisner fullname: Reisner, Elnatan organization: University of Maryland, College Park – sequence: 2 givenname: Charles surname: Song fullname: Song, Charles organization: University of Maryland, College Park – sequence: 3 givenname: Kin-Keung surname: Ma fullname: Ma, Kin-Keung organization: University of Maryland, College Park – sequence: 4 givenname: Jeffrey S. surname: Foster fullname: Foster, Jeffrey S. organization: University of Maryland, College Park – sequence: 5 givenname: Adam surname: Porter fullname: Porter, Adam organization: University of Maryland, College Park |
BookMark | eNqNkE1LAzEYhANWsGrPHrzk6GXr-2abjz1K8QsKIthzSDbZGt1NZLOt9N-7pf0BzmUGZpjDc0kmMUVPyA3CHHHB71GBkFU1P7gSizMyq6RCAZwriZWYkCkwCQVnXF6QWc5fMEqUgAhT8r7OIW5o3nc2taGmfmfarRlCinRIdBud7_NgoqPWf5pdSD0NkdYpNmGz7Y1tPc2pGX5NP4Z9HnyXr8l5Y9rsZye_Iuunx4_lS7F6e35dPqwKg4INhVEIFVRWOQHWM2Ebzjw3sgbuVA0LBC6xbMrSCQdSKYGusc4jGMt5yevyitwef4P3Xv_0oTP9XgsQDJGN7d2xNXWnbUrfWSPoAy994qVPvMbp_J9Tbfvgm_IPdv9rLQ |
ContentType | Conference Proceeding |
Copyright | 2010 ACM |
Copyright_xml | – notice: 2010 ACM |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1145/1806799.1806864 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Xplore IEEE Proceedings Order Plans (POP) 1998-present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EndPage | 454 |
ExternalDocumentID | 6062112 |
Genre | orig-research |
GroupedDBID | 6IE 6IF 6IG 6IH 6IK 6IL 6IM 6IN AAJGR ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IEGSK IERZE IJVOP OCL RIB RIC RIE RIL RIO -~X .4S .DC 123 23M 29O 5VS 8US AAWTH ABLEC ADZIZ AFFNX ARCSS AVWKF CHZPO EDO FEDTE I-F I07 IPLJI M43 RNS XOL |
ID | FETCH-LOGICAL-a162t-a810909b8d60be26bf52e5a7c05d8c04105713f33d6d078861dfbde10ab5535c3 |
IEDL.DBID | RIE |
ISBN | 9781605587196 1605587192 |
ISSN | 0270-5257 |
IngestDate | Wed Aug 27 02:38:14 EDT 2025 Wed Jan 31 06:43:37 EST 2024 Wed Jan 31 06:47:57 EST 2024 |
IsPeerReviewed | false |
IsScholarly | true |
Keywords | software configurations empirical software engineering software testing and analysis |
Language | English |
License | Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org |
LinkModel | DirectLink |
MeetingName | ICSE '10: 32nd International Conference on Software Engineering |
MergedId | FETCHMERGED-LOGICAL-a162t-a810909b8d60be26bf52e5a7c05d8c04105713f33d6d078861dfbde10ab5535c3 |
PageCount | 10 |
ParticipantIDs | ieee_primary_6062112 acm_books_10_1145_1806799_1806864_brief acm_books_10_1145_1806799_1806864 |
PublicationCentury | 2000 |
PublicationDate | 20100501 2010-May |
PublicationDateYYYYMMDD | 2010-05-01 |
PublicationDate_xml | – month: 05 year: 2010 text: 20100501 day: 01 |
PublicationDecade | 2010 |
PublicationPlace | New York, NY, USA |
PublicationPlace_xml | – name: New York, NY, USA |
PublicationSeriesTitle | ACM Conferences |
PublicationTitle | 2010 ACM/IEEE 32nd International Conference on Software Engineering |
PublicationTitleAbbrev | icse |
PublicationYear | 2010 |
Publisher | ACM IEEE |
Publisher_xml | – name: ACM – name: IEEE |
SSID | ssj0000630110 ssj0006499 |
Score | 2.1198719 |
Snippet | Many modern software systems are designed to be highly configurable, which increases flexibility but can make programs hard to test, analyze, and understand.... |
SourceID | ieee acm |
SourceType | Publisher |
StartPage | 445 |
SubjectTerms | Computing methodologies -- Symbolic and algebraic manipulation Concrete empirical software engineering Libraries Measurement Servers Software and its engineering -- Software creation and management -- Software verification and validation Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging software configurations Software systems software testing and analysis Testing Theory of computation -- Models of computation -- Abstract machines Theory of computation -- Semantics and reasoning -- Program reasoning -- Abstraction |
Title | Using symbolic evaluation to understand behavior in configurable software systems |
URI | https://ieeexplore.ieee.org/document/6062112 |
Volume | 1 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEF7anjxVbcX6YgXBi2mz2Uc3Z7EUoaJgobeQfUmRttImiP56d_JoUQQ9ZRNySGazM_Nt5vsGoSsQUWKRioJIaRDVlnGg_JoLYucccUwpHQHBefIgxlN2P-OzBrrZcmGstUXxme3DsPiXb1Y6h62ygU-2PV7xDrc5HMYlV2u7nwLaUUUoq7ywYEXvSI-6wgAUP4HU5VN37gFCHFVaT_W5qDR_COMDImFrJe7DUYIOQTPVi2-tV4rIM2qjSf3MZcHJaz_PVF9__pBz_O9L7aPujuOHH7fR6wA17PIQtesmD7ha8x30VBQV4M3HQoGEMN7Jg-NshfMtNwbXhH88X2IPst38JV8DLwtvvKd_T9d-UKqjd9F0dPd8Ow6qPgxBSkSUBamE6s1YSSNCZSOhHI8sT4c65EbqEApFPdR1lBphfMYhBTFOGUvCVHFOuaZHqLVcLe0xwpqE0lCtPMhjjDmpLDWWUiZoaofE0B669OZOAGBskpIzzZNqSpJqSnro-s97ErWeW9dDHbB38lYKdySVqU9-v3yK9urSgJCcoVa2zu25zzgydVF8al-4usmv |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LT9tAEB4BPZQT5VGR0sJWQuKCg_eZ9bkCpZAgkEDiZnlfVYRIUGKror--O34kAlUqJ68tH-xZ78x86_m-AThGESXBDEuYsSiqrbPExDWXZCEEGoQxliHBeXythvfi8kE-rMHpkgvjva-Lz3wfh_W_fDezFW6VncVkO-KV6HA_SCEGrGFrLXdUUD2qDmatH1ai7h4ZcVeaoOYn0rpi8i4jRMhYq_bUnatW9YcKeUY1bq5kfTxqVCJYL-zTq-Yrdey52IJx99RNycljvypN3_55I-j43tf6BHsrlh-5WcavbVjz0x3Y6to8kHbV78JtXVZAFi9PBkWEyUognJQzUi3ZMaSj_JPJlESYHSa_qjkys8gi-vrfxTwOGn30Pbi_OL_7MUzaTgxJQRUrk0Jj_WZmtFOp8UyZIJmXxcCm0mmbYqloBLuBc6dczDm0oi4Y52laGCm5tPwzbExnU78PxNJUO25NhHlCiKCN585zLhQv_IA63oPv0dw5QoxF3rCmZd5OSd5OSQ9O_ntPbuYTH3qwi_bOnxvpjrw19Zd_Xz6Cj8O78Sgf_by-OoDNrlAgpV9ho5xX_lvMP0pzWH92fwF5x8z6 |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+of+the+32nd+ACM%2FIEEE+International+Conference+on+Software+Engineering+-+Volume+1&rft.atitle=Using+symbolic+evaluation+to+understand+behavior+in+configurable+software+systems&rft.au=Reisner%2C+Elnatan&rft.au=Song%2C+Charles&rft.au=Ma%2C+Kin-Keung&rft.au=Foster%2C+Jeffrey+S.&rft.series=ACM+Conferences&rft.date=2010-05-01&rft.pub=ACM&rft.isbn=9781605587196&rft.spage=445&rft.epage=454&rft_id=info:doi/10.1145%2F1806799.1806864 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0270-5257&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0270-5257&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0270-5257&client=summon |