Software and hardware systems are often built without detailed documentation. The correctness of these systems can only be verified as well as the specifications are written. The lack of sufficient specifications often leads to misses of critical bugs, design re-spins, and time-to-market slips. In this paper, we address this problem by mining specification dynamically from simulation traces. Given an execution trace, we mine recurring temporal behaviors in the trace that match a set of pattern templates. Subsequently, we synthesize them into complex patterns by merging events in time and chaining the patterns using inference rules. We specifically designed our algorithm to make it highly efficient and meaningful for digital circuits. In add...
Software evolution incurs difficulties in program comprehension and software verification, and hence...
Program specifications are important in many phases of the soft-ware development process, but they a...
Specification mining is a process of extracting specifications, often from program execution traces....
During the verification of a hardware system, one of the most important steps is formal specificatio...
Specification is the first and arguably the most important step for formal verification and correct-...
Abstract—This paper presents a technique for using execution traces to mine parametric temporal spec...
Abstract. This paper presents a technique for mining parametric temporal specifications from executi...
Abstract—Dynamic specification mining extracts candidate specifications from logs of execution trace...
Program verification is a promising approach to improving program quality, because it can search all...
Several approaches exist for specification mining of hardware designs. Most of them work at RTL and ...
Software specifications define system behavior, usage guidelines, requirements and act as a tool for...
To ensure that the design of a hardware system or protocol works according to specification, either ...
This paper considers automata-based pattern mining techniques for ex-tracting specifications from ru...
Several approaches exist for specification mining of hardware designs, both at the RTL and system le...
Formal specifications play an essential role in the life-cycle of modern systems, both at the time o...
Software evolution incurs difficulties in program comprehension and software verification, and hence...
Program specifications are important in many phases of the soft-ware development process, but they a...
Specification mining is a process of extracting specifications, often from program execution traces....
During the verification of a hardware system, one of the most important steps is formal specificatio...
Specification is the first and arguably the most important step for formal verification and correct-...
Abstract—This paper presents a technique for using execution traces to mine parametric temporal spec...
Abstract. This paper presents a technique for mining parametric temporal specifications from executi...
Abstract—Dynamic specification mining extracts candidate specifications from logs of execution trace...
Program verification is a promising approach to improving program quality, because it can search all...
Several approaches exist for specification mining of hardware designs. Most of them work at RTL and ...
Software specifications define system behavior, usage guidelines, requirements and act as a tool for...
To ensure that the design of a hardware system or protocol works according to specification, either ...
This paper considers automata-based pattern mining techniques for ex-tracting specifications from ru...
Several approaches exist for specification mining of hardware designs, both at the RTL and system le...
Formal specifications play an essential role in the life-cycle of modern systems, both at the time o...
Software evolution incurs difficulties in program comprehension and software verification, and hence...
Program specifications are important in many phases of the soft-ware development process, but they a...
Specification mining is a process of extracting specifications, often from program execution traces....