Abstract
A software product line is a family of programs where each program is defined by a unique combination of features. Product lines, like conventional programs, can be checked for safety properties through execution monitoring. However, because a product line induces a number of programs that is potentially exponential in the number of features, it would be very expensive to use existing monitoring techniques: one would have to apply those techniques to every single program. Doing so would also be wasteful because many programs can provably never violate the stated property. We introduce a monitoring technique dedicated to product lines that, given a safety property, statically determines the feature combinations that cannot possibly violate the property, thus reducing the number of programs to monitor. Experiments show that our technique is effective, particularly for safety properties that crosscut many optional features.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L.J., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to aspectj. In: OOPSLA, pp. 345–364 (2005)
Batory, D.: Feature models, grammars, and propositional formulas. Technical Report TR-05-14, University of Texas at Austin, Texas (March 2005)
Bodden, E.: Efficient Hybrid Typestate Analysis by Determining Continuation-Equivalent States. In: ICSE 2010. ACM Press, New York (2010)
Bodden, E.: Clara: a framework for implementing hybrid typestate analyses. Technical Report Clara-2 (2009), http://www.bodden.de/pubs/tr-clara-2.pdf
Bodden, E., Chen, F., Rosu, G.: Dependent advice: a general approach to optimizing history-based aspects. In: AOSD 2009. ACM, New York (2009)
Bodden, E., Hendren, L., Lhoták, O.: A staged static program analysis to improve the performance of runtime monitoring. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 525–549. Springer, Heidelberg (2007)
Bodden, E., Lam, P., Hendren, L.: Finding programming errors earlier by evaluating runtime monitors ahead-of-time. In: SIGSOFT 2008/FSE-16. ACM, New York (2008)
Chen, F., Roşu, G.: MOP: an efficient and generic runtime verification framework. In: OOPSLA 2007, pp. 569–588. ACM Press, New York (2007)
Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A., Raskin, J.-F.: Model checking lots of systems: Efficient verification of temporal properties in software product lines. In: ICSE 2010. IEEE, Los Alamitos (2010)
Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008)
Kästner, C., Apel, S.: Type-checking software product lines - a formal approach. In: Automated Software Engineering, ASE (2008)
Kim, C.H.P.: Reducing Configurations to Monitor in a Software Product Line: Tool and Results (2010), http://userweb.cs.utexas.edu/~chpkim/splmonitoring
Kim, C.H.P., Batory, D., Khurshid, S.: Reducing Combinatorics in Product Line Testing. Technical Report TR-10-02, University of Texas at Austin (January 2010), http://userweb.cs.utexas.edu/~chpkim/chpkim-productline-testing.pdf .
Lhoták, O., Hendren, L.: Scaling Java points-to analysis using Spark. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 153–169. Springer, Heidelberg (2003)
Lopez-herrejon, R.E., Batory, D.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)
Schneider, F.B.: Enforceable security policies. ACM Trans. Inf. Syst. Secur. 3(1), 30–50 (2000)
Software Engineering Institute, CMU. Software product lines, http://www.sei.cmu.edu/productlines/
Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: Consel, C., Lawall, J.L. (eds.) GPCE, pp. 95–104. ACM, New York (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, C.H.P., Bodden, E., Batory, D., Khurshid, S. (2010). Reducing Configurations to Monitor in a Software Product Line. In: Barringer, H., et al. Runtime Verification. RV 2010. Lecture Notes in Computer Science, vol 6418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16612-9_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-16612-9_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16611-2
Online ISBN: 978-3-642-16612-9
eBook Packages: Computer ScienceComputer Science (R0)