![]() ; Papadakis, Mike ![]() ![]() in 10th IEEE International Conference on Software Testing, Verification and Validation (2017) Detailed reference viewed: 195 (9 UL)![]() Henard, Christopher ![]() ![]() in 38th International Conference on Software Engineering (ICSE'16) (2016) Although white-box regression test prioritization has been well-studied, the more recently introduced black-box prioritization approaches have neither been compared against each other nor against more ... [more ▼] Although white-box regression test prioritization has been well-studied, the more recently introduced black-box prioritization approaches have neither been compared against each other nor against more well-established white-box techniques. We present a comprehensive experimental comparison of several test prioritization techniques, including well-established white-box strategies and more recently introduced black-box approaches. We found that Combinatorial Interaction Testing and diversity-based techniques (Input Model Diversity and Input Test Set Diameter) perform best among the black-box approaches. Perhaps surprisingly, we found little difference between black-box and white-box performance (at most 4% fault detection rate difference). We also found the overlap between black- and white-box faults to be high: the first 10% of the prioritized test suites already agree on at least 60% of the faults found. These are positive findings for practicing regression testers who may not have source code available, thereby making white-box techniques inapplicable. We also found evidence that both black-box and white-box prioritization remain robust over multiple system releases. [less ▲] Detailed reference viewed: 273 (14 UL)![]() ; ; Papadakis, Mike ![]() E-print/Working paper (2015) Detailed reference viewed: 175 (3 UL)![]() Henard, Christopher ![]() Doctoral thesis (2015) Complex situations formed by mixes of versatile environments, various user needs and time-to-market constraints led to the development of highly configurable systems. In line with the emergence of such ... [more ▼] Complex situations formed by mixes of versatile environments, various user needs and time-to-market constraints led to the development of highly configurable systems. In line with the emergence of such systems, software development is increasingly moving from the production of a single, yet configurable software to the development of families of software products. Such families of related software are called Software Product Lines (SPLs), and they allow the automation of the configuration, deployment and management of tailored software products through the combination of software features. These features and the constraints defining their legal combinations are usually encoded in a feature model (FM), which is used to represent a SPL. One main challenge with SPLs is testing them, a task which is even more difficult as the number of features proposed is important. Ideally, all the possible products that can be configured from a SPL should be tested. This, however, is unfeasible in practice since only 270 optional features allows configuring more products than the number of atoms in the universe. Considering that realistic SPLs involve thousands of features and that testing capabilities are limited by time and budget constraints, only a subset of all the configurable products can actually be tested, introducing the needs for strategies to test such SPLs. To reduce the testing effort, techniques using combinatorial interaction testing (CIT) have been proposed and proven to be successful. However, they fail at scaling to large and heavily constrained SPLs. In addition, CIT is costly to apply due to the combinatorial explosion induced by calculating the feature combinations. Besides, existing approaches do not consider multiple and potentially conflicting testing objectives such as minimizing the number of configurations and their cost. In this respect, this dissertation introduces scalable techniques for both generating and prioritizing relevant SPL product configurations for CIT by using a similarity heuristic which avoids the combinatorial explosion. In a second step, methods for handling multiple testing objectives are presented. The following part of this thesis focuses on the quality assessment of given product configurations prior to testing. The objective here is to evaluate how good is a given set of configurations according to different testing criteria, whatever the way these configurations have been selected. This situation arises when configurations that have to be tested are already available. Since testing these software products individually is a costly and time consuming task, methodologies to evaluate them prior testing are introduced, thus allowing to discard unnecessary ones and save testing sessions. In particular, an approach based on mutation of the SPL FM which can form viable and cheaper alternative to CIT is presented. The next part of this dissertation investigates the reverse-engineering of a SPL and its FM from existing source code of software product variants. Since SPLs allows us to reduce development costs and quickly derive tailored products for specific market share, automated techniques to migrate similar product variants into a whole SPL are necessary. In particular, the challenge of reverse-engineering a SPL which is concordant with the underlying software products is tackled by a fully automated approach. In addition, since reverse-engineering approaches (whether manually or automatically performed) are inherently error-prone, a methodology for evaluating and fixing reverse-engineered SPL FM is presented. The final part of this dissertation describes the application of the introduced theoretical advances to an industrial case with the CETREL company. In this project, a credit card authorization system is tested by using credit card authorizations. The testing process is optimized by modeling credit card authorizations as a SPL, enabling the application of the above-mentioned generation and evaluation approaches. All the proposed approaches use search-based techniques combined with constraint solvers and have been validated through rigorous experiments performed on moderate to large scale SPLs. [less ▲] Detailed reference viewed: 286 (35 UL)![]() Henard, Christopher ![]() ![]() ![]() in Eighth IEEE International Conference on Software Testing, Verification and Validation, ICST 2015 Workshops (2015, April) Detailed reference viewed: 153 (2 UL)![]() ; ; El Kateb, Donia ![]() in Information and Software Technology (2015), 58 Context: Access control is among the most important security mechanisms, and XACML is the de facto standard for specifying, storing and deploying access control policies. Since it is critical that ... [more ▼] Context: Access control is among the most important security mechanisms, and XACML is the de facto standard for specifying, storing and deploying access control policies. Since it is critical that enforced policies are correct, policy testing must be performed in an effective way to identify potential security flaws and bugs. In practice, exhaustive testing is impossible due to budget constraints. Therefore the tests need to be prioritized so that resources are focused on their most relevant subset. Objective: This paper tackles the issue of access control test prioritization. It proposes a new approach for access control test prioritization that relies on similarity. Method: The approach has been applied to several policies and the results have been compared to random prioritization (as a baseline). To assess the different prioritization criteria, we use mutation analysis and compute the mutation scores reached by each criterion. This helps assessing the rate of fault detection. Results: The empirical results indicate that our proposed approach is effective and its rate of fault detection is higher than that of random prioritization. Conclusion: We conclude that prioritization of access control test cases can be usefully based on similarity criteria. © 2014 Elsevier B.V. All rights reserved. [less ▲] Detailed reference viewed: 192 (6 UL)![]() Henard, Christopher ![]() ![]() in 37th International Conference on Software Engineering (ICSE 2015) (2015) Detailed reference viewed: 262 (11 UL)![]() ; ; El Kateb, Donia ![]() in Information and Software Technology (2014) Detailed reference viewed: 207 (19 UL)![]() Papadakis, Mike ![]() ![]() ![]() in 7th International Conference on Software Testing, Verification and Validation (ICST 2014) (2014) Detailed reference viewed: 156 (10 UL)![]() Henard, Christopher ![]() ![]() ![]() in Testing Tools Track, 7th International Conference on Software Testing, Verification and Validation (ICST 2014) (2014) Detailed reference viewed: 174 (8 UL)![]() ; Henard, Christopher ![]() ![]() in 29th Symposium on Applied Computing (SAC 2014) (2014) Detailed reference viewed: 172 (8 UL)![]() Henard, Christopher ![]() ![]() ![]() in IEEE Transactions on Software Engineering (2014), 40(7), 650-670 Detailed reference viewed: 251 (20 UL)![]() Henard, Christopher ![]() ![]() ![]() in Symposium on Search-Based Software Engineering (SSBSE 2014) (2014) Detailed reference viewed: 178 (4 UL)![]() Henard, Christopher ![]() ![]() ![]() in 17th International Software Product Line Conference co-located workshops, SPLC 2013 workshops, Tokyo, Japan - August 26 (2013) Detailed reference viewed: 189 (6 UL)![]() Henard, Christopher ![]() ![]() ![]() in 17th International Software Product Line Conference, SPLC 2013, Tokyo, Japan - August 26 - 30, 2013 (2013) Detailed reference viewed: 184 (13 UL)![]() Henard, Christopher ![]() ![]() ![]() in 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, Workshops Proceedings, Luxembourg, Luxembourg, March 18-22, 2013 (2013) Detailed reference viewed: 224 (13 UL)![]() Henard, Christopher ![]() ![]() ![]() in Proceedings of the 2013 International Conference on Software Engineering (2013) Detailed reference viewed: 1054 (8 UL)![]() Henard, Christopher ![]() ![]() ![]() Report (2012) Software Product Lines (SPLs) are families of products whose commonalities and variability can be captured by Feature Models (FMs). T-wise testing aims at finding errors triggered by all interactions ... [more ▼] Software Product Lines (SPLs) are families of products whose commonalities and variability can be captured by Feature Models (FMs). T-wise testing aims at finding errors triggered by all interactions amongst t features, thus reducing drastically the number of products to test. T-wise testing approaches for SPLs are limited to small values of t -- which miss faulty interactions -- or limited by the size of the FM. Furthermore, they neither prioritize the products to test nor provide means to finely control the generation process. This paper offers (a) a search-based approach capable of generating products for large SPLs, forming a scalable and flexible alternative to current techniques and (b) prioritization algorithms for any set of products. Experiments conducted on 124 FMs (including large FMs such as the Linux kernel) demonstrate the feasibility and the practicality of our approach. [less ▲] Detailed reference viewed: 163 (6 UL) |
||