Specification Clones: An Empirical Study of the Structure of Event-B Specifications
In this paper we present an empirical study of formal specifications written in the Event-B language. Our study is exploratory, since it is the first study of its kind, and we formulate metrics for Event-B specifications which quantify the diversity of such specifications in practice. We pay particular attention to refinement as this is one of the most notable features of Event-B. However, Event-B is less well-equipped with other standardised modularisation constructs, and we investigate the impact of this by detecting and analysing specification clones at different levels. We describe our algorithm used to identify clones at the machine, context and event level, and present results from an analysis of a large corpus of Event-B specifications. Our study contributes to furthering research into the area of metrics and modularisation in Event-B.
We would like to thank the anonymous reviewers for their feedback and Ruth O’Connor for her work on a preliminary version of our clone detector during her SPUR internship that was funded by Maynooth University.
- 4.Baxter, I.D., Yahin, A., Moura, L., Sant’Anna, M., Bier, L.: Clone detection using abstract syntax trees. In: International Conference on Software Maintenance, Maryland, USA, pp. 368–377 (1998)Google Scholar
- 6.Farrell, M., Monahan, R., Power, J.F.: Providing a semantics and modularisation constructs for Event-B using institutions. In: International Workshop on Algebraic Development Techniques, Gregynog, Wales (2016)Google Scholar
- 7.Fürst, A.: Design patterns in Event-B and their tool support. Master’s thesis, Department of Computer Science, ETH Zürich, March 2009Google Scholar
- 8.Gondal, A., Poppleton, M., Snook, C.: Feature composition-towards product lines of Event-B models. In: International Workshop on Model-Driven Product Line Engineering, Twente, The Netherlands, pp. 18–25 (2009)Google Scholar
- 9.Iliasov, A., Troubitsyna, E., Laibinis, L., Romanovsky, A., Varpaaniemi, K., Ilic, D., Latvala, T.: Supporting reuse in Event B development: modularisation approach. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 174–188. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-11811-1_14CrossRefGoogle Scholar
- 11.Morgan, C., Robinson, K., Gardiner, P.: On the Refinement Calculus. Springer, London (1988)Google Scholar
- 12.Olszewska, M., Sere, K.: Specification metrics for Event-B developments. In: International Conference on Quality Engineering in Software Technology, Dresden, Germany (2010)Google Scholar
- 13.Pitu, M., Grijincu, D., Li, P., Saleem, A., Monahan, R., O’Donoghue, D.P.: Arís: analogical reasoning for reuse of implementation & specification. In: International Workshop on Artificial Intelligence for Formal Methods, Rennes, France, pp. 13–16 (2013)Google Scholar
- 15.Roy, C.K., Zibran, M.F., Koschke, R.: The vision of software clone management: past, present, and future. In: Software Maintenance, Reengineering and Reverse Engineering, Antwerp, Belgium, pp. 18–33 (2014)Google Scholar