Rafael
Olaechea,
PhD
candidate
David
R.
Cheriton
School
of
Computer
Science
A software product line (SPL) must satisfy strict quality requirements, such as timing constraints or energy consumption constraints. A timed state-transition model can be analyzed to determine whether a software system will satisfy its timing requirements. However obtaining such models for a software product line is problematic as a transition's execution time can vary between different software products.
We adapt a machine-learning method to learn a compact function that can estimate, for a state-transition model of a software product line, a transition's product-specific execution time from observing the execution of a small subset of all the software products. We assess the accuracy of the learned timed models of SPLs in two case studies. We also compare the accuracy of our models of SPLs against the accuracy of models obtained by Perfume, which is a tool that learns a timed state-transition model for a single software system. Finally, we compared our timed models to state-of the-art techniques that estimate a software product's execution time based on which features are present in the software product instead of on how long each transition takes to execute.