Logo PTI
Polish Information Processing Society
Logo FedCSIS

Annals of Computer Science and Information Systems, Volume 15

Proceedings of the 2018 Federated Conference on Computer Science and Information Systems

Reverse Engineering of Legacy Software Interfaces to a Model-Based Approach

, , ,

DOI: http://dx.doi.org/10.15439/2018F64

Citation: Proceedings of the 2018 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 15, pages 867876 ()

Full text

Abstract. Cyber physical systems consist of many hardware and software components. Over the life-cycle of these systems, components are replaced or updated. To avoid integration problems, good interface descriptions are crucial for component-based development of these systems. For new components, a Domain Specific Language (DSL) called Component Modeling \& Analysis (ComMA) can be used to formally define the interface of such a component in terms of its signature, state and timing behavior. Having interfaces described in a model based approach enables the generation of artifacts, for instance, to generate a monitor that can check interface conformance of components based on a trace of observed interface interactions during execution. The benefit of having formal interface descriptions also holds for legacy system components. Interfaces of legacy components can be reverse engineered manually. But to reduce the manual effort, we present an automated learner. The learner can reverse engineer state and timing behavior of a legacy interface by examining event traces of the component in operation. The learner will then generate a ComMA model.


  1. I. Kurtev, M. Schuts, J. Hooman, and D.-J. Swagerman, “Integrating interface modeling and analysis in an industrial setting,” in MOD-ELSWARD, 2017. http://dx.doi.org/10.5220/0006133103450352 pp. 345–352.
  2. F. Vaandrager, “Model learning,” Commun. ACM, vol. 60, no. 2, pp. 86–95, 2017. http://dx.doi.org/10.1145/2967606
  3. W. van der Aalst, Process Mining - Discovery, Conformance and Enhancement of Business Processes. Springer, 2011.
  4. T. Berg, B. Jonsson, and H. Raffelt, “Regular inference for state machines with parameters,” in International Conference on Fundamental Approaches to Software Engineering. Springer, 2006. http://dx.doi.org/10.1007/11693017 10 pp. 107–121.
  5. I. Buzhinsky and V. Vyatkin, “Modular plant model synthesis from behavior traces and temporal properties,” in 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), 2017. http://dx.doi.org/10.1109/ETFA.2017.8247578 pp. 1–7.
  6. I. Buzhinsky and V. Vyatkin, “Automatic inference of finite-state plant models from traces and temporal properties,” IEEE Transactions on Industrial Informatics, vol. 13, no. 4, pp. 1521–1530, 2017. http://dx.doi.org/10.1109/TII.2017.2670146
  7. G. H. Broadfoot, “ASD case notes: Costs and benefits of applying formal methods to industrial control software,” in Formal Methods (FM 2005), J. Fitzgerald, I. J. Hayes, and A. Tarlecki, Eds. Springer, 2005. http://dx.doi.org/10.1007/11526841 39 pp. 548–551.
  8. G. Booch, J. E. Rumbaugh, and I. Jacobson, The Unified Modeling Language user guide, ser. Addison-Wesley object technology series. Addison-Wesley-Longman, 1999.
  9. B. Meyer, “Applying “design by contract”,” IEEE Computer, vol. 25, no. 10, pp. 40–51, 1992. http://dx.doi.org/10.1109/2.161279
  10. K. G. Larsen, M. Mikucionis, B. Nielsen, and A. Skou, “Testing real-time embedded software using UPPAAL-TRON: An industrial case study,” in Proceedings of the 5th ACM International Conference on Embedded Software, ser. EMSOFT ’05. ACM, 2005. doi: 10.1145/1086228.1086283 pp. 299–306.
  11. Z. Gu, S. Wang, S. Kodase, and K. G. Shin, “An end-to-end tool chain for multi-view modeling and analysis of avionics mission computing software,” in 24th IEEE Real-Time Systems Symposium, 2003 (RTSS 2003), 2003. http://dx.doi.org/10.1109/REAL.2003.1253256 pp. 78–81.
  12. M. Schuts and J. Hooman, “Using domain specific languages to improve the development of a power control unit,” in Computer Science and Information Systems (FedCSIS), 2015 Federated Conference on. IEEE, 2015. http://dx.doi.org/10.15439/2015F46 pp. 781–788.
  13. E. F. Moore, “Gedanken-experiments on sequential machines,” Automata Studies, Annals of Math. Studies, 1956.
  14. M. J. Heule and S. Verwer, “Software model synthesis using satisfiability solvers,” Empirical Software Engineering, vol. 18, no. 4, pp. 825–856, 2013.
  15. G. H. Mealy, “A method for synthesizing sequential circuits,” Bell System Technical Journal, no. 34, p. 1045–1079, 1955. http://dx.doi.org/10.1002/j.1538-7305.1955.tb03788.x
  16. J. Hooman, R. Huis in ’t Veld, and M. Schuts, “Experiences with a compositional model checker in the healthcare domain,” in Foundations of Health Information Engineering and Systems (FHIES 2011), LNCS 7151. Springer, 2012. http://dx.doi.org/10.1007/978-3-642-32355-3 6 pp. 93–110.
  17. I. Kurtev, J. Hooman, and M. Schuts, “Runtime monitoring based on interface specifications,” in ModelEd, TestEd, TrustEd. Springer, 2017. http://dx.doi.org/10.1007/978-3-319-68270-9 17 pp. 335–356.