EDBT 2026 Demo / reviewers in the wild / expert
Charles Song
dblp:69/1793
· DBLP profile ↗
3ranked-venue papers
2as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Software testing · 82% Program analysis · 16% Empirical software engineering · 2% | |
| Databases, data mining, and information retrieval
1 paper |
Machine learning and data management · 100% |
Topics — the 8 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
combinatorial testing |
0.3 | 2 | 2014 | iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees · IEEE Trans. Software Eng. 2014 iTree: Efficiently discovering high-coverage configurations using interaction trees · ICSE 2012 |
Software testing
configuration testing |
0.3 | 2 | 2014 | iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees · IEEE Trans. Software Eng. 2014 iTree: Efficiently discovering high-coverage configurations using interaction trees · ICSE 2012 |
Software testing › combinatorial testing
covering arrays |
0.2 | 1 | 2014 | iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees · IEEE Trans. Software Eng. 2014 |
Software testing
test coverage |
0.1 | 1 | 2012 | iTree: Efficiently discovering high-coverage configurations using interaction trees · ICSE 2012 |
Program analysis
configuration analysis |
0.1 | 1 | 2010 | Using symbolic evaluation to understand behavior in configurable software systems · ICSE (1) 2010 |
Software testing › test coverage
coverage analysis |
0.1 | 1 | 2010 | Using symbolic evaluation to understand behavior in configurable software systems · ICSE (1) 2010 |
Program analysis
symbolic execution |
0.1 | 1 | 2010 | Using symbolic evaluation to understand behavior in configurable software systems · ICSE (1) 2010 |
Empirical software engineering › software engineering research methodology
empirical study |
0.0 | 1 | 2010 | Using symbolic evaluation to understand behavior in configurable software systems · ICSE (1) 2010 |
Methods — techniques the papers use, named apart from their topics
machine learning · 0.5interaction tree discovery · 0.5combinatorial interaction testing · 0.3symbolic evaluation · 0.1coverage analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | iTree: Efficiently Discovering High-Coverage Configurations Using Interaction TreesabstractModern software systems are increasingly configurable. While this has many benefits, it also makes some software engineering tasks,such as software testing, much harder. This is because, in theory,unique errors could be hiding in any configuration, and, therefore,every configuration may need to undergo expensive testing. As this is generally infeasible, developers need cost-effective technique for selecting which specific configurations they will test. One popular selection approach is combinatorial interaction testing (CIT), where the developer selects a strength t and then computes a covering array (a set of configurations) in which all t-way combinations of configuration option settings appear at least once. In prior work, we demonstrated several limitations of the CIT approach. In particular, we found that a given system's effective configuration space - the minimal set of configurations needed to achieve a specific goal - could comprise only a tiny subset of the system's full configuration space. We also found that effective configuration space may not be well approximated by t-way covering arrays. Based on these insights we have developed an algorithm called interaction tree discovery (iTree). iTree is an iterative learning algorithm that efficiently searches for a small set of configurations that closely approximates a system's effective configuration space. On each iteration iTree tests the system on a small sample of carefully chosen configurations, monitors the system's behaviors, and then applies machine learning techniques to discover which combinations of option settings are potentially responsible for any newly observed behaviors. This information is used in the next iteration to pick a new sample of configurations that are likely to reveal further new behaviors. In prior work, we presented an initial version of iTree and performed an initial evaluation with promising results. This paper presents an improved iTree algorithm in greater detail. The key improvements are based on our use of composite proto-interactions - a construct that improves iTree's ability to correctly learn key configuration option combinations, which in turn significantly improves iTree's running time, without sacrificing effectiveness. Finally, the paper presents a detailed evaluation of the improved iTree algorithm by comparing the coverage it achieves versus that of covering arrays and randomly generated configuration sets, including a significantly expanded scalability evaluation with the ~ 1M-LOC MySQL. Our results strongly suggest that the improved iTree algorithm is highly scalable and can identify a high-coverage test set of configurations more effectively than existing methods. Charles Song, Adam A. Porter, Jeffrey S. Foster |
IEEE Trans. Software Eng. | 1 |
| 2012 | iTree: Efficiently discovering high-coverage configurations using interaction treesabstractSoftware configurability has many benefits, but it also makes programs much harder to test, as in the worst case the program must be tested under every possible configuration. One potential remedy to this problem is combinatorial interaction testing (CIT), in which typically the developer selects a strength t and then computes a covering array containing all t-way configuration option combinations. However, in a prior study we showed that several programs have important high-strength interactions (combinations of a subset of configuration options) that CIT is highly unlikely to generate in practice. In this paper, we propose a new algorithm called interaction tree discovery (iTree) that aims to identify sets of configurations to test that are smaller than those generated by CIT, while also including important high-strength interactions missed by practical applications of CIT. On each iteration of iTree, we first use low-strength CIT to test the program under a set of configurations, and then apply machine learning techniques to discover new interactions that are potentially responsible for any new coverage seen. By repeating this process, iTree builds up a set of configurations likely to contain key high-strength interactions. We evaluated iTree by comparing the coverage it achieves versus covering arrays and randomly generated configuration sets. Our results strongly suggest that iTree can identify high-coverage sets of configurations more effectively than traditional CIT or random sampling. Charles Song, Adam A. Porter, Jeffrey S. Foster |
ICSE | 1 |
| 2010 | Using symbolic evaluation to understand behavior in configurable software systemsabstractMany 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. Elnatan Reisner, Charles Song, Kin-Keung Ma, Jeffrey S. Foster, Adam A. Porter |
ICSE (1) | 2 |