skip to main content
10.5555/1326073.1326139acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

Automated refinement checking of concurrent systems

Published: 05 November 2007 Publication History

Abstract

Stepwise refinement is at the core of many approaches to synthesis and optimization of hardware and software systems. For instance, it can be used to build a synthesis approach for digital circuits from high level specifications. It can also be used for post-synthesis modification such as in Engineering Change Orders (ECOs). Therefore, checking if a system, modeled as a set of concurrent processes, is a refinement of another is of tremendous value. In this paper, we focus on concurrent systems modeled as Communicating Sequential Processes (CSP) and show their refinements can be validated using insights from translation validation, automated theorem proving and relational approaches to reasoning about programs. The novelty of our approach is that it handles infinite state spaces in a fully automated manner. We have implemented our refinement checking technique and have applied it to a variety of refinements. We present the details of our algorithm and experimental results. As an example, we were able to automatically check an infinite state space buffer refinement that cannot be checked by current state of the art tools such as FDR. We were also able to check the data part of an industrial case study on the EP2 system.

References

[1]
EP2. www.eftpos2000.ch.
[2]
Failures-divergence refinement: FDR2 user manual. Formal Systems (Europe) Ltd., Oxford, England, June 2005.
[3]
T. Ball, R. Majumdar, T. Millstein, and S. K. Rajamani. Automatic predicate abstraction of C programs. In Proceedings PLDI 2001, June 2001.
[4]
Nick Benton. Simple relational correctness proofs for static analyses and program transformations. In POPL 2004, January 2004.
[5]
A. Benveniste, L. Carloni, P. Caspi, and A. Sangiovanni-Vincentelli. Heterogeneous reactive systems modeling and correct-by-construction deployment, 2003.
[6]
J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. In Proceedings of LICS 1990, 1990.
[7]
Doran Bustan and Orna Grumberg. Simulation based minimization. In David A. McAllester, editor, CADE 2000, volume 1831 of LNCS, pages 255--270. Springer Verlag, 2000.
[8]
S. Chaki, E. Clarke, J. Ouaknine, N. Sharygina, and N. Sinha. Concurrent software verification with states, events and deadlocks. Formal Aspects of Computing Journal, 17(4):461--483, December 2005.
[9]
E. M. Clarke and David E. Long Orna Grumberg. Verification tools for finite-state concurrent systems. In A Decade of Concurrency, Reflections and Perspectives, volume 803 of LNCS. Springer Verlag, 1994.
[10]
C. N. Ip and D. L. Dill. Better verification through symmetry. In D. Agnew, L. Claesen, and R. Camposano, editors, Computer Hardware Description Languages and their Applications, pages 87--100, Ottawa, Canada, 1993. Elsevier Science Publishers B. V., Amsterdam, Netherland.
[11]
D. Detlefs, G. Nelson, and J. B. Saxe. Simplify: A theorem prover for program checking. Journal of the Association for Computing Machinery, 52(3):365--473, May 2005.
[12]
B. Dutertre and S. Schneider. Using a PVS embedding of CSP to verify authentication protocols. In TPHOL 97, Lecture Notes in Artificial Intelligence. Springer-Verlag, 1997.
[13]
Susanne Graf and Hassen Saidi. Construction of abstract state graphs of infinite systems with PVS. In CAV 97, June 1997.
[14]
Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre. Lazy abstraction. In POPL 2002, January 2002.
[15]
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall International, 1985.
[16]
Yoshinao Isobe and Markus Roggenbach. A generic theorem prover of CSP refinement. In TACAS '05, volume 1503 of Lecture Notes in Computer Science (LNCS), pages 103--123. Springer-Verlag, April 2005.
[17]
Mark B. Josephs. A state-based approach to communicating processes. Distributed Computing, 3(1):9--18, March 1988.
[18]
Moshe Y. Vardi Kathi Fisler. Bisimulation and model checking. In Proceedings of the 10th Conference on Correct Hardware Design and Verification Methods, Bad Herrenalb Germany CA, September 1999.
[19]
Sudipta Kundu, Sorin Lerner, and Rajesh Gupta. Automated refinement checking of concurrent systems. Technical report, University of California, San Diego, 2007. http://mesl.ucsd.edu/pubs/iccad07-tr.pdf.
[20]
David Lacey, Neil D. Jones, Eric Van Wyk, and Carl Christian Frederik-sen. Proving correctness of compiler optimizations by temporal logic. In POPL 2002, January 2002.
[21]
Edward A. Lee and Alberto L. Sangiovanni-Vincentelli. A framework for comparing models of computation. IEEE Trans. on CAD of Integrated Circuits and Systems, 17(12):1217--1229, 1998.
[22]
Stan Liao, Steve Tjiang, and Rajesh Gupta. An efficient implementation of reactivity for modeling hardware in the scenic design environment. In DAC '97: Proceedings of the 34th annual conference on Design automation, pages 70--75, New York, NY, USA, 1997. ACM Press.
[23]
Panagiotis Manolios, Kedar S. Namjoshi, and Robert Summers. Linking theorem proving and model-checking with well-founded bisimulation. In CAV '99: Proceedings of the 11th International Conference on Computer Aided Verification, pages 369--379, London, UK, 1999. Springer-Verlag.
[24]
Panagiotis Manolios and Sudarshan K. Srinivasan. Automatic verification of safety and liveness for xscale-like processor models using web refinements. In DATE '04: Proceedings of the conference on Design, automation and test in Europe, page 10168, Washington, DC, USA, 2004. IEEE Computer Society.
[25]
K. L. McMillan. A methodology for hardware verification using compositional model checking. Sci. Comput. Program., 37(1--3):279--309, 2000.
[26]
George C. Necula. Translation validation for an optimizing compiler. In PLDI 2000, June 2000.
[27]
S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In CADE 92. Springer-Verlag, 1992.
[28]
L. C. Paulson. Isabelle: A generic theorem prover, volume 828 of Lecure Notes in Computer Science. Springer Verlag, 1994.
[29]
D. Peled. Ten years of partial order reduction. In CAV 98, June 1998.
[30]
A. Pnueli, M. Siegel, and E. Singerman. Translation validation. In TACAS '98, volume 1384 of Lecture Notes in Computer Science, pages 151--166, 1998.
[31]
A. W. Roscoe, P. H. B. Gardiner, M. H. Goldsmith, J. R. Hulance, D. M. Jackson, and J. B. Scattergood. Hierarchical compression for model-checking CSP or how to check 1020 dining philosophers for deadlock. In TACAS '95, 1995.
[32]
Ingo Sander and Axel Jantsch. System modeling and transformational design refinement in forsyde {formal system design}. IEEE Trans. on CAD of Integrated Circuits and Systems, 23(1):17--32, 2004.
[33]
J. P. Talpin, P. L. Guernic, S. K. Shukla, F. Doucet, and R. Gupta. Formal refinement checking in a system-level design methodology. Fundamenta Informaticae, 62(2):243--273, 2004.
[34]
H. Tej and B. Wolff. A corrected failure-divergence model for CSP in Isabelle/HOL. In FME 97, 1997.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '07: Proceedings of the 2007 IEEE/ACM international conference on Computer-aided design
November 2007
933 pages
ISBN:1424413826
  • General Chair:
  • Georges Gielen

Sponsors

Publisher

IEEE Press

Publication History

Published: 05 November 2007

Check for updates

Qualifiers

  • Research-article

Conference

ICCAD07
Sponsor:

Acceptance Rates

ICCAD '07 Paper Acceptance Rate 139 of 510 submissions, 27%;
Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2021)CSimACM Transactions on Programming Languages and Systems10.1145/343680843:1(1-46)Online publication date: 9-Feb-2021
  • (2019)Modeling and Analyzing Incremental Natures of Developing SoftwareACM Transactions on Management Information Systems10.1145/333353510:2(1-32)Online publication date: 10-Jul-2019
  • (2015)C-to-Verilog translation validationProceedings of the 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign10.1109/MEMCOD.2015.7340466(42-47)Online publication date: 1-Sep-2015
  • (2010)Translation validation of high-level synthesisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2010.204288929:4(566-579)Online publication date: 1-Apr-2010
  • (2009)Proving optimizations correct using parameterized program equivalenceACM SIGPLAN Notices10.1145/1543135.154251344:6(327-337)Online publication date: 15-Jun-2009
  • (2009)Proving optimizations correct using parameterized program equivalenceProceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1542476.1542513(327-337)Online publication date: 15-Jun-2009
  • (2008)Validating High-Level SynthesisProceedings of the 20th international conference on Computer Aided Verification10.1007/978-3-540-70545-1_44(459-472)Online publication date: 7-Jul-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