Off-campus UNL users: To download campus access dissertations, please use the following link to log into our proxy server with your NU ID and password. When you are done browsing please remember to return to this page and log out.

Non-UNL users: Please talk to your librarian about requesting this dissertation through interlibrary loan.

Use of constraint solving for testing software product lines

Jiangfan Shi, University of Nebraska - Lincoln


A new software engineering methodology, software product line (SPL) engineering, has been increasingly studied in academia and adopted in industry in the past decade. It allows the delivery of similar, but customized, software products to customers in the same domain within a short time period. Software product line engineering produces an SPL by defining feature commonality and variability, and is supported by a well-managed asset base. SPL engineering can improve productivity from three to ten times, however, we require more efficient testing methods, so that we can ensure the correctness of SPLs with the same resource allocation percentage as in the traditional software engineering; traditional methods applied to SPL testing require a longer percentage of the software lifecycle. ^ In this dissertation, we show how modern constraint solvers can be used to tackle the challenge of efficiently ensuring dependability in SPLs from two perspectives: sampling and reuse. In sampling, the key is to choose a subset of products that are representative of the whole configuration space. We focus on one sampling technique, combinatorial interaction testing, that samples combinations of variability in the SPL. In reuse, the goal is to leverage the inherent property of SPLs: similarity, which stems from the fact that all configurations are generated from a core set of common and variable features. Our primary contributions are improved sample generation techniques for SPL testing that efficiently incorporate constraints between features, and reuse techniques that efficiently leverage similarities during integration testing. ^

Subject Area

Computer Science

Recommended Citation

Shi, Jiangfan, "Use of constraint solving for testing software product lines" (2012). ETD collection for University of Nebraska - Lincoln. AAI3490145.