The Use of Self Checks and Voting in Software Error Detection: An Empirical Study
IEEE Transactions on Software Engineering
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
A Discipline of Programming
Executable Assertions and Separate Compilation
JMLC '97 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
Deriving Annotations for Tight Calculation of Execution Time
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Executable Assertions for Detecting Data Errors in Embedded Control Systems
DSN '00 Proceedings of the 2000 International Conference on Dependable Systems and Networks (formerly FTCS-30 and DCCA-8)
Improving Software Testability with Assertion Insertion
Proceedings of the IEEE International Test Conference on TEST: The Next 25 Years
Executable assertions and timed traces for on-line software error detection
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
A Framework for Dependability Driven Software Integration
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Detectors and Correctors: A Theory of Fault-Tolerance Components
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Component-Based Synthesis of Dependable Embedded Software
FTRTFT '02 Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems: Co-sponsored by IFIP WG 2.2
An approach to synthesise safe systems
International Journal of Security and Networks
An approach for designing and assessing detectors for dependable component-based systems
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
Hi-index | 0.00 |
Over the design of software (SW) used in provisioning of dependable services, Executable Assertions (EAs) are seeing increasing usage in aiding detection of data errors. Given the requirements for provision of service despite faults, early detection of system states that can potentially lead to system failure is valuable. We address the issue of ascertaining whether localized EAs in individual modules add up complementarily to implement a global EA/property. We first show that detection of globally compliant EAs is NP-complete. Thus, we develop a two-pass approach for our objective. In the first pass, we introduce the consistency property of EAs and use it to ascertain global conformity across all EAs. The second pass, analogous to predicate transformers, generates globally consistent EAs when any inconsistency is flagged in the first pass. We show the applicability of our approach on a real embedded system. Initial results obtained show that our framework is able to detect inherent vulnerabilities (due to placement of mismatched EAs) that were previously undetected. Our intent is automation of this approach, which can be incorporated in a compiler.