In this paper, we present a concept of compacting the error traces generated by pseudo-random/random simulations. The new shorter error trace not only decreases the time of the user's debugging process but also reduces the simulation time required to verify the bug fixes. Two algorithms, CET1 and CET2, are presented to perform the task of compacting the error trace. Both algorithms first use an efficient approach to eliminate the redundant states, to generate the unique states of the error trace. Then, CET1 builds the connected graph of these unique states by computing the reachable states by one cycle for each unique state, and then applies Dykstra's shortest path algorithm to find out the shortest error trace in the connected graph. Compared with CET1, CET2 computes the reachable states by one cycle for those unique states, when they are needed in Dykstra's shortest path algorithm to find the shortest error trace. After finding the shorter trace, the corresponding input/output test vectors are generated. The experimental results show that both algorithms can reduce the length of error traces dramatically for most cases using reasonable memory. For cases requiring longer CPU time to find the shortest trace, CET2 is up to 37 times faster than CET1.
[1]
Fabio Somenzi,et al.
CUDD: CU Decision Diagram Package Release 2.2.0
,
1998
.
[2]
Edmund M. Clarke,et al.
Efficient generation of counterexamples and witnesses in symbolic model checking
,
1995,
DAC '95.
[3]
Kavita Ravi,et al.
Fate and free will in error traces
,
2004,
International Journal on Software Tools for Technology Transfer.
[4]
D. Geist,et al.
A study in coverage-driven test generation
,
1999,
Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).
[5]
Sharad Malik,et al.
Toward formalizing a validation methodology using simulation coverage
,
1997,
DAC.
[6]
Kavita Ravi,et al.
Fate and free will in error traces
,
2004,
International Journal on Software Tools for Technology Transfer.
[7]
R. I. Bahar,et al.
Algebraic decision diagrams and their applications
,
1993,
Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).