Experiences with formal engineering: Model-based specification, implementation and testing of a software bus at Neopost

M. Sijtema, A. Belinfante, M.I.A. Stoelinga, L. Marinelli
2014 Science of Computer Programming  
We report on the actual industrial use of formal methods during the development of a software bus. At Neopost Inc., we developed the server component of a software bus, called the XBus, using formal methods during the design, validation and testing phase: We modeled our design of the XBus in the process algebra mCRL2, validated the design using the mCRL2-simulator, and fully automatically tested our implementation with the model-based test tool JTorX. This resulted in a well-tested software bus
more » ... with a maintainable architecture. Writing the model, simulating it, and testing the implementation with JTorX only took 17% of the total development time. Moreover, the errors found with model-based testing would have been hard to find with conventional test methods. Thus, we show that formal engineering can be feasible, beneficial and cost-effective.
doi:10.1016/j.scico.2013.04.009 fatcat:l5tthkm4hbeapia7lcnh3nvu4u