Abstract
Abstract We are interested in specifications which provide a consistent high-level view of systems. They should abstract irrelevant details and provide a precise and complete description of the behaviour of the system. This view of software specification can naturally be expressed by means of Gurevich’s Abstract State Machines (ASMs). There are many known benefits of such an approach to system specifications for software engineering and testing. In practice however, such specifications are rarely generated and/or maintained during software development. Addressing this problem, we present an exploratory study on (semi-)automated extraction of high-level software specifications by means of ASMs. We devise a method consisting in two phases. In the first phase we propose fully automated transformations from source code to base-level ASM specifications with the same core functionality. We present a prototype of an implementation of this phase which transforms Java code into base-level ASM specifications. The second phase consists in incrementally applying sound semi-automated abstraction procedures for ASMs to derive higher-level specifications, starting from the base-level ASM specification obtained in the first phase. This is by no means a trivial task. It opens up new and interesting research questions. We discuss possible methodologies to approach this task and provide a proof of concept in the form of elaborated and detailed examples. We argue that this process can be done in a (semi-)automated way and thus result in a valuable tool to improve the current software engineering practices.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.