2015/10/09 by Jǐŕı Barnat, Petr Bauch, Barnat, Jiří +9
Computer Science · Engineering · #FOS: Computer and information sciences #Formal Methods in Verification #Safety Systems Engineering in Autonomy #Software Engineering (cs.SE) #Software Reliability and Analysis Research
paper · pdf · doi:10.48550/arxiv.1510.02669
openalex publication_date 2015/10/09 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
In the last decade it became a common practice to formalise software requirements to improve the clarity of users' expectations. In this work we build on the fact that functional requirements can be expressed in temporal logic and we propose new sanity checking techniques that automatically detect flaws and suggest improvements of given requirements. Specifically, we describe and experimentally evaluate approaches to consistency and redundancy checking that identify all inconsistencies and pinpoint their exact source (the smallest inconsistent set). We further report on the experience obtained from employing the consistency and redundancy checking in an industrial environment. To complete the sanity checking we also describe a semi-automatic completeness evaluation that can assess the coverage of user requirements and suggest missing properties the user might have wanted to formulate. The usefulness of our completeness evaluation is demonstrated in a case study of an aeroplane control system.