Abstract

Software cost can be reduced if more software defects are detected earlier in the development phase. Motivated by the Extended Static Checking (ESC) technique, many programming errors have been discovered by ESC tools. In a typical ESC procedure, the source code of a program written in a high-level programming language, e.g. Java [1] or C#, Spec# [2], is translated into some logical imperative-style language, resp. Guarded Commands [1] or BoogiePL [2]. At the same time, associated annotated specifications which state constraints of the program are also translated into the same logical language. This two-fold translation phase induces code-interleaving phenomenon of annotated specification and program. The subsequent phases in ESC relies on the interleaving codes while there is a possibility that logical imperative codes translated from annotated specification may change behavior of the original program. This paper proposes a formal analysis approach of possible interaction between specification and program codes. It does not only show the range of specification categories which are safe in this ESC procedure, but also presents cases for potential ESC unsoundness.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.