Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
Promises: limited specifications for analysis and manipulation
Proceedings of the 20th international conference on Software engineering
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Automatically Checking an Implementation against Its Formal Specification
IEEE Transactions on Software Engineering
Dependability: Basic Concepts and Terminology
Dependability: Basic Concepts and Terminology
Tracking down software bugs using automatic anomaly detection
Proceedings of the 24th International Conference on Software Engineering
The Vision of Autonomic Computing
Computer
Precise Service Level Agreements
Proceedings of the 26th International Conference on Software Engineering
Connecting effects and uniqueness with adoption
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rx: treating bugs as allergies---a safe method to survive software failures
Proceedings of the twentieth ACM symposium on Operating systems principles
User guidance for creating precise and accessible property specifications
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
On-line anomaly detection of deployed software: a statistical machine learning approach
Proceedings of the 3rd international workshop on Software quality assurance
Fault-Tolerant Systems
Microreboot — A technique for cheap recovery
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Object and reference immutability using Java generics
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Can self-healing software cope with loitering?
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Automatic inference of stationary fields: a generalization of java's final fields
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
Verifying correct usage of atomic blocks and typestate
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Formal specifications on industrial-strength code—from myth to reality
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Characterizing logging practices in open-source software
Proceedings of the 34th International Conference on Software Engineering
A self-healing technique for Java applications
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
Fine grained error or failure detection is often indispensable for precise, effective, and efficient reactions to runtime problems. In this chapter we describe an approach that facilitates automatic generation of efficient runtime detectors for relevant classes of functional problems. The technique targets failures that commonly manifest at the boundaries between the components that form the system. It employs a model-based specification language that developers use to capture system-level properties extracted from requirements specifications. These properties are automatically translated into assertion-like checks and inserted in all relevant locations of the systems code. The main goals of our research are to define useful classes of system-level properties, identify errors and failures related to the violations of those properties, and produce assertions capable of detecting such violations. To this end we analyzed a wide range of available software specifications, bug reports for implemented systems, and other sources of information about the developers intent, such as test suites. The collected information is organized in a catalog of requirements-level property descriptions. These properties are used by developers to annotate their system design specifications, and serve as the basis for automatic assertion generation.