Abstract
In the context of component-based systems, this paper presents the automated generation of initial states, from which an adaptive system starts to receive sequences of events that aim to provoke reconfigurations. For generating these states, also called configurations, we present a combinatorial algorithm supporting various architectural elements and relationships among them, while satisfying consistency constraints expressed by invariants. Moreover, this algorithm deals with the system-dependant instantiations of the primitive and composite components, parameters and relations, in order to produce meaningful structured configurations. While testing adaptation policies for component-based systems, this algorithm allows us to improve the capability of fulfilling coverage criteria by using different initial configurations. To illustrate the approach, the paper reports on experiments on a simulation with platoons of autonomous vehicles.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Each component type is mapped to a set of component types, as we assume that components can be shared by composite components.
- 2.
The interested reader can find an implementation of this algorithm at https://fdadeau.github.io/CSConfigGen/.
- 3.
In this matrix \(a_{i,i}=0\) and \(a_{i,j}=a_{j,i}\). The complexity of the computation is quadratic in the number m of configurations.
- 4.
More results are in Table at https://fdadeau.github.io/CSConfigGen/table.html.
- 5.
Let us note that for each experiment, on the given clock tick, on average \(10\%\) of steps correspond to the events from the usage models sent to the SUT (cf. (4) in Fig. 1), whereas \(\delta \) occurs for the remaining \(90\%\) of steps.
References
Alkan, B., Harrison, R.: A virtual engineering based approach to verify structural complexity of component-based automation systems in early design phase. J. Manuf. Syst. 53, 18–31 (2019)
Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods, SEFM 2006, Washington, DC, USA, pp. 3–12. IEEE Computer Society (2006)
Beizer, B., Wiley, J.: Black box testing: techniques for functional testing of software and systems. IEEE Softw. 13(5), 98 (1996). https://doi.org/10.1109/MS.1996.536464
Bergenhem, C.: Approaches for facilities layer protocols for platooning. In: IEEE 18th International Conference on Intelligent Transportation Systems, ITSC 2015, pp. 1989–1994. IEEE (2015). https://doi.org/10.1109/ITSC.2015.322
Bouquet, F., Legeard, B., Peureux, F.: CLPS-B - A constraint solver to animate a B specification. Int. J. Softw. Tools Technol. Transf. 6(2), 143–157 (2004). https://doi.org/10.1007/s10009-003-0123-8
Chauvel, F., Barais, O., Borne, I., Jézéquel, J.: Composition of qualitative adaptation policies. In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), pp. 455–458. IEEE Computer Society (2008)
Dadeau, F., Gros, J.P., Kouchnarenko, O.: Testing adaptation policies for software components. Softw. Qual. J. 28(3), 1347–1378 (2020). https://doi.org/10.1007/s11219-019-09487-w
Dadeau, F., Gros, J.P., Kouchnarenko, O.: Online testing of dynamic reconfigurations w.r.t. adaptation policies. Model. Anal. Inf. Syst. 28(1), 52–73 (2021). https://doi.org/10.18255/1818-1015-2021-1-52-73. (in Russian)
Dormoy, J., Kouchnarenko, O., Lanoix, A.: Using temporal logic for dynamic reconfigurations of components. In: Barbosa, L.S., Lumpe, M. (eds.) FACS 2010. LNCS, vol. 6921, pp. 200–217. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-27269-1_12
El Ballouli, R., Bensalem, S., Bozga, M., Sifakis, J.: Programming dynamic reconfigurable systems. Int. J. Softw. Tools Technol. Transf. (2021). https://doi.org/10.1007/s10009-020-00596-7
Galeotti, J.P., Rosner, N., López Pombo, C.G., Frias, M.F.: TACO: efficient sat-based bounded verification using symmetry breaking and tight bounds. IEEE Trans. Softw. Eng. 39(9), 1283–1307 (2013). https://doi.org/10.1109/TSE.2013.15
Gupta, A., Nadarajah, S.: Handbook of Beta Distribution and Its Applications. CRC Press (2004)
Hartigan, J.A., Wong, M.A.: A k-means clustering algorithm. JSTOR Appl. Stat. 28(1), 100–108 (1979)
Hussain, A., Tiwari, S., Suryadevara, J., Enoiu, E.: From modeling to test case generation in the industrial embedded system domain. In: Mazzara, M., Ober, I., Salaün, G. (eds.) STAF 2018. LNCS, vol. 11176, pp. 499–505. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-04771-9_35
Jin, H., Kitamura, T., Choi, E.-H., Tsuchiya, T.: A comparative study on combinatorial and random testing for highly configurable systems. In: Casola, V., De Benedictis, A., Rak, M. (eds.) ICTSS 2020. LNCS, vol. 12543, pp. 302–309. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64881-7_20
Kitamura, T., Do, N.T.B., Ohsaki, H., Fang, L., Yatabe, S.: Test-case design by feature trees. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 458–473. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34026-0_34
Klees, G., Ruef, A., Cooper, B., Wei, S., Hicks, M.: Evaluating fuzz testing. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, pp. 2123–2138 (2018)
Kouchnarenko, O., Weber, J.-F.: Adapting component-based systems at runtime via policies with temporal patterns. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 234–253. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07602-7_15
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)
Lanoix, A., Dormoy, J., Kouchnarenko, O.: Combining proof and model-checking to validate reconfigurable architectures. Electron. Notes Theor. Comput. Sci. 279(2), 43–57 (2011). https://doi.org/10.1016/j.entcs.2011.11.011
Legeard, B., Peureux, F., Utting, M.: Automated boundary testing from Z and B. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 21–40. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45614-7_2
Sullivan, K., Yang, J., Coppit, D., Khurshid, S., Jackson, D.: Software assurance by bounded exhaustive testing. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2004), pp. 133–142. Association for Computing Machinery, New York (2004)
Taha, S., Julliand, J., Dadeau, F., Cabrera Castillos, K., Kanso, B.: A compositional automata-based semantics and preserving transformation rules for testing property patterns. Formal Aspects Comput. 27(4), 641–664 (2015). https://doi.org/10.1007/s00165-014-0328-5
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliab. 22(5), 297–312 (2012). https://doi.org/10.1002/stvr.456
Walton, G.H., Poore, J.H., Trammell, C.J.: Statistical testing of software based on a usage model. Softw. Pract. Exp. 25(1), 97–108 (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Dadeau, F., Gros, JP., Kouchnarenko, O. (2021). Automated Generation of Initial Configurations for Testing Component Systems. In: Salaün, G., Wijs, A. (eds) Formal Aspects of Component Software. FACS 2021. Lecture Notes in Computer Science(), vol 13077. Springer, Cham. https://doi.org/10.1007/978-3-030-90636-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-90636-8_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-90635-1
Online ISBN: 978-3-030-90636-8
eBook Packages: Computer ScienceComputer Science (R0)