Skip to main content

Towards Abstraction for DynAlloy Specifications

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5256))

Abstract

DynAlloy is an extension of the Alloy language to better describe state change via actions and programs, in the style of dynamic logic. In this paper, we report on our experience in trying to provide abstraction based mechanisms for improving DynAlloy specifications with respect to SAT based analysis. The technique we employ is based on predicate abstraction, but due to the context in which we make use of it, is subject to the following more specific improvements: (i) since DynAlloy’s analysis consists of checking partial correctness assertions against programs, we are only interested in the initial and final states of a computation, and therefore we can safely abstract away some intermediate states in the computation (generally, this kind of abstraction cannot be safely applied in model checking), (ii) since DynAlloy’s analysis is inherently bounded, we can safely rely on the sole use of a SAT solver for producing the abstractions, and (iii) since DynAlloy’s basic operational unit is the atomic action, which can be used in different parts within a program, we can reuse the abstraction of an action in different parts of a program, which can accelerate the convergence in checking valid properties.

We present the technique via a case study based on a translation of a JML annotated Java program into DynAlloy, accompanied by some preliminary experimental results showing some of the benefits of the technique.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ball, T., Cook, B., Das, S., Rajamani, S.: Refining Approximations in Software Predicate Abstraction. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988. Springer, Heidelberg (2004)

    Google Scholar 

  2. Bjorner, N., Browne, A., Colon, M., Finkbeiner, B., Manna, Z., Sipma, H., Uribe, T.: Verifying Temporal Properties of Reactive Systems: a STeP Tutorial. Formal Methods in System Design 16 (2000)

    Google Scholar 

  3. Clarke, E., Grumberg, O., Long, D.: Model checking and abstraction. ACM Transactions on Programming Languages and Systems (TOPLAS) 16(5) (1994)

    Google Scholar 

  4. Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: Predicate Abstraction of ANSI-C Programs using SAT, Technical Report CMU-CS-03-186. Carnegie Mellon University (2003)

    Google Scholar 

  5. Cousot, P.: Abstract interpretation. ACM Computing Surveys 28(2) (1996)

    Google Scholar 

  6. Das, S., Dill, D.: Successive Approximation of Abstract Transition Relations. In: Proceedings of the IEEE Symposium on Logic in Computer Science LICS 2001. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  7. Das, S., Dill, D.: Counterexample Based Predicate Discovery in Predicate Abstraction. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  8. Dennis, G., Chang, F., Jackson, D.: Modular Verification of Code with SAT. In: Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2006, Portland, Maine, USA, pp. 109–120 (2006)

    Google Scholar 

  9. Frias, M., López Pombo, C., Baum, G., Aguirre, N., Maibaum, T.: Reasoning about static and dynamic properties in alloy: A purely relational approach. ACM Transactions on Software Engineering and Methodology (TOSEM) 14(4) (2005)

    Google Scholar 

  10. Frias, M., Galeotti, J.P., López Pombo, C., Aguirre, N.: DynAlloy: upgrading alloy with actions. In: Proceedings of the 27th International Conference on Software Engineering ICSE 2005. ACM Press, New York (2005)

    Google Scholar 

  11. Frias, M., Galeotti, J.P., López Pombo, C., Aguirre, N.: Efficient Analysis of DynAlloy Specifications. In: ACM Transactions on Software Engineering and Methodology (TOSEM). ACM Press, New York

    Google Scholar 

  12. Graf, S., Saïdi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  13. Galeotti, J.P., Frias, M.F.: DynAlloy as a Formal Method for the Analysis of Java Programs. In: Proceedings of IFIP Working Conference on Software Engineering Techniques (SET 2006), Warsaw. Springer, Heidelberg (2006)

    Google Scholar 

  14. Jackson, D., Vaziri, M.: Finding Bugs with a Constraint Solver. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), Portland, OR, USA, August 21-24, pp. 14–25. ACM Press, New York (2000)

    Google Scholar 

  15. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (ACM TOSEM) 11(2) (2002)

    Google Scholar 

  16. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  17. Kim, S.-K., Carrington, D.: Formalizing the UML Class Diagram Using Object-Z. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723. Springer, Heidelberg (1999)

    Google Scholar 

  18. Snook, C., Butler, M.: UML-B: Formal modeling and design aided by UML. ACM Transactions on Software Engineering and Methodology (TOSEM) 15(1) (2006)

    Google Scholar 

  19. Taghdiri, M.: Inferring Specifications to Detect Errors in Code. In: Proceedings of the 19th International Conference on Automated Software Engineering ASE 2004, Austria (September 2004)

    Google Scholar 

  20. Uchitel, S., Chatley, R., Kramer, J., Magee, J.: LTSA-MSC: Tool Support for Behaviour Model Elaboration Using Implied Scenarios. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  21. Woodcock, J., Davies, J.: Using Z: Specification, Refinement and Proof. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  22. Xie, Y., Aiken, A.: Saturn: A Scalable Framework for Error Detection Using Boolean Satisfiability. ACM-Transactions on Programming Languages and Systems (TOPLAS) (to appear)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aguirre, N.M., Frias, M.F., Ponzio, P., Cardiff, B.J., Galeotti, J.P., Regis, G. (2008). Towards Abstraction for DynAlloy Specifications. In: Liu, S., Maibaum, T., Araki, K. (eds) Formal Methods and Software Engineering. ICFEM 2008. Lecture Notes in Computer Science, vol 5256. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88194-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88194-0_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88193-3

  • Online ISBN: 978-3-540-88194-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics