skip to main content
10.1145/1233501.1233682acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
Article

Verification through the principle of least astonishment

Published: 05 November 2006 Publication History

Abstract

Assessing the correctness of a digital design is a challenging task hampered by extremely large circuit netlists, counterintuitive property descriptions and ill-defined specifications. In this paper we propose a new verification methodology, inspired by the principle of least astonishment. The underlying idea is to provide an automatic assessment of what constitutes "common behavior" for a system, and use this to detect any anomaly in the design. Deviant behavior is presented to the verification engineer through intuitive, compact diagrams which lend themselves to quick inspection for correctness. To enable this methodology we introduce Inferno, a new tool which can analyze the results of a logic simulation trace and automatically extract high-level diagrams representing the design's transaction activity across any user-defined interface. In addition, Inferno can automatically generate a checker module corresponding to a given transaction, suitable for use in a wide range of verification methodologies. We envision the deployment of Inferno in a closed-loop constraint-random simulation methodology where any new transaction detected on the interface is presented to the user for analysis and, once deemed legal, it is merged into an "approved transactions" checker, which flags the detection of any new type of transactions. We provide a series of examples and experimental results to show the effectiveness of Inferno and some of its possible uses.

References

[1]
G. Ammons, R. Bodik, and J. R. Larus. Mining specifications. In Symposium on Principles of Programming Languages, pages 4--16, 2002.
[2]
T. Arts and L.-A. Fredlund. Trace analysis of erlang programs. In ACM Sigplan Notices, pages 18--24, 2002.
[3]
S. Bensalem, Y. Lakhnech, and H. Sadi. Powerful techniques for the automatic generation of invariants. In Proceedings of the 8th International Conference on Computer Aided Verification, pages 323--335, Aug. 1996.
[4]
B. Bentley and R. Gray. Validating the Intel Pentium 4 Microprocessor. Intel Technology Journal, pages 1--8, 2001.
[5]
D. S. Brahme, S. Cox, J. Gallo, W. Grundmann, C. N. Ip, W. Paulsen, J. L. Pierce, J. Rose, D. Shea, and K. Whiting. The transaction-based verification methodology. Technical report, Cadence Design Systems, Inc., Aug. 2000. Technical Report No. CDNL-TR-2000-0825.
[6]
E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P. R. Stephan, R. K. Brayton and A. Sangiovanni-Vincentelli. SIS: A system for sequential circuit synthesis. Technical report, 1992.
[7]
D. Engler, D. Y. Chen, S. Hallem, A. Chou, and B. Chelf. Bugs as deviant behavior: a general approach to inferring errors in systems code. In SOSP '01: Proceedings of the eighteenth ACM symposium on Operating systems principles, pages 57--72, New York, NY, USA, 2001. ACM Press.
[8]
M. D. Ernst. Verification for legacy programs. In Verified Tools: Theories, Tools, Experiments, Zürich, Switzerland, October 10--13, 2005.
[9]
G. Fey and R. Drechsler. Improving simulation-based verification by means of formal methods. In ASPDAC, Proceedings of the Asia South Pacific Design Automation Conference, pages 640--643, Jan. 2004.
[10]
S. Hangal, N. Chandra, S. Narayanan, and S. Chakravorty. Iodine: a tool to automatically infer dynamic invariants for hardware designs. In DAC '05: Proceedings of the 42nd annual conference on Design automation, pages 775--778, New York, NY, USA, 2005. ACM Press.
[11]
http://www.opencores.org.
[12]
T. Schubert. High-level formal verification of next-generation microprocessors. In Proc. DAC, pages 1--6, June 2003.
[13]
J. Yang and D. Evans. Automatically inferring temporal properties for program evolution. In Proceedings of the 15th International Symposium on Software Reliability Engineering (ISSRE'04), pages 340--351, Nov. 2004.

Cited By

View all
  • (2018)Extracting hardware assertions including word-level relations over multiple clock cycles2018 19th International Symposium on Quality Electronic Design (ISQED)10.1109/ISQED.2018.8357295(244-250)Online publication date: Mar-2018
  • (2016)TopazProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972151(1473-1476)Online publication date: 14-Mar-2016
  • (2010)Scalable specification mining for verification and diagnosisProceedings of the 47th Design Automation Conference10.1145/1837274.1837466(755-760)Online publication date: 13-Jun-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '06: Proceedings of the 2006 IEEE/ACM international conference on Computer-aided design
November 2006
147 pages
ISBN:1595933891
DOI:10.1145/1233501
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 November 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ICCAD06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Extracting hardware assertions including word-level relations over multiple clock cycles2018 19th International Symposium on Quality Electronic Design (ISQED)10.1109/ISQED.2018.8357295(244-250)Online publication date: Mar-2018
  • (2016)TopazProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972151(1473-1476)Online publication date: 14-Mar-2016
  • (2010)Scalable specification mining for verification and diagnosisProceedings of the 47th Design Automation Conference10.1145/1837274.1837466(755-760)Online publication date: 13-Jun-2010
  • (2010)Learning about the DesignDebugging at the Electronic System Level10.1007/978-90-481-9255-7_5(105-141)Online publication date: 19-May-2010
  • (2008)Automatic generation of complex properties for hardware designsProceedings of the conference on Design, automation and test in Europe10.1145/1403375.1403506(545-548)Online publication date: 10-Mar-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media