Modular Abstractions of Reactive Nodes Using Disjunctive Invariants

  • David Monniaux
  • Martin Bodin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7078)

Abstract

We wish to abstract nodes in a reactive programming language, such as Lustre, into nodes with a simpler control structure, with a bound on the number of control states. In order to do so, we compute disjunctive invariants in predicate abstraction, with a bounded number of disjuncts, then we abstract the node, each disjunct representing an abstract state. The computation of the disjunctive invariant is performed by a form of quantifier elimination expressed using SMT-solving.

The same method can also be used to obtain disjunctive loop invariants.

Keywords

Transition Relation Conjunctive Normal Form Propositional Variable Reachable State Disjunctive Normal Form 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Balakrishnan, G., Sankaranarayanan, S., Ivančić, F., Gupta, A.: Refining the control structure of loops using static analysis. In: EMSOFT, pp. 49–58. ACM, New York (2009)CrossRefGoogle Scholar
  2. 2.
    Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: LUSTRE: a declarative language for real-time programming. In: POPL (Symposium on Principles of programming languages), pp. 178–188. ACM (1987)Google Scholar
  3. 3.
    Cimatti, A.: Beyond Boolean SAT: Satisfiability modulo theories. In: Discrete Event Systems, WODES, pp. 68–73 (May 2008)Google Scholar
  4. 4.
    Colón, M.A., Sankaranarayanan, S., Sipma, H.B.: Linear Invariant Generation using Non-Linear Constraint Solving. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 420–432. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Gawlitza, T.M., Monniaux, D.: Improving Strategies via SMT Solving. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 236–255. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  6. 6.
    Goubault, E., Roux, S.L., Leconte, J., Liberti, L., Marinelli, F.: Static analysis by abstract interpretation: A mathematical programming approach. Electr. Notes Theor. Comput. Sci. 267(1), 73–87 (2010)CrossRefMATHGoogle Scholar
  7. 7.
    Graf, S., Saïdi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  8. 8.
    Gulwani, S., Srivastava, S., Venkatesan, R.: Program analysis as constraint solving. In: Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2008, pp. 281–292. ACM, New York (2008)CrossRefGoogle Scholar
  9. 9.
    Gulwani, S., Srivastava, S., Venkatesan, R.: Constraint-Based Invariant Inference over Predicate Abstraction. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 120–135. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Gulwani, S., Zuleger, F.: The reachability-bound problem. In: Zorn, B.G., Aiken, A. (eds.) PLDI, pp. 292–304. ACM (2010)Google Scholar
  11. 11.
    Hagen, G., Tinelli, C.: Scaling up the formal verification of Lustre programs with SMT-based techniques. In: Cimatti, R.B.A., Jones (eds.) Formal Methods in Computer-Aided Design (FMCAD), pp. 109–117. IEEE (2008)Google Scholar
  12. 12.
    Jeannet, B.: Partitionnement dynamique dans l’analyse de relations linéaires et application à la vérification de programmes synchrones. Ph.D. thesis, Institut National Polytechnique de Grenoble (September 2000)Google Scholar
  13. 13.
    Jeannet, B.: Dynamic partitioning in linear relation analysis: Application to the verification of reactive systems. Formal Methods in System Design 23, 5–37 (2003)CrossRefMATHGoogle Scholar
  14. 14.
    Jeannet, B., Halbwachs, N., Raymond, P.: Dynamic Partitioning in Analyses of Numerical Properties. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 39–50. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    Monniaux, D.: Compositional Analysis of Floating-Point Linear Numerical Filters. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 199–212. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Monniaux, D.: Automatic modular abstractions for template numerical constraints. Logical Methods in Computer Science (June 2010)Google Scholar
  17. 17.
    Monniaux, D.: Quantifier Elimination by Lazy Model Enumeration. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 585–599. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Popeea, C., Chin, W.-N.: Inferring Disjunctive Postconditions. In: Okada, M., Satoh, I. (eds.) ASIAN 2006. LNCS, vol. 4435, pp. 331–345. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Rival, X., Mauborgne, L.: The trace partitioning abstract domain. ACM TOPLAS 29 (August 2007)Google Scholar
  20. 20.
    Sankaranarayanan, S., Ivančić, F., Shlyakhter, I., Gupta, A.: Static Analysis in Disjunctive Numerical Domains. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 3–17. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Shankar, N.: Symbolic Analysis of Transition Systems. In: Gurevich, Y., Kutter, P.W., Vetta, A., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 287–302. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  22. 22.
    Sharma, R., Dillig, I., Dillig, T., Aiken, A.: Simplifying Loop Invariant Generation using Splitter Predicates. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 703–719. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  23. 23.
    Srivastava, S., Gulwani, S.: Program verification using templates over predicate abstraction. SIGPLAN Not. 44, 223–234 (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • David Monniaux
    • 1
  • Martin Bodin
    • 1
    • 2
  1. 1.CNRS / VerimagFrance
  2. 2.École normale supérieure de LyonFrance

Personalised recommendations