Skip to main content

Automated Temporal Verification of Integrated Dependent Effects

  • Conference paper
  • First Online:
Formal Methods and Software Engineering (ICFEM 2020)

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

Included in the following conference series:

Abstract

Existing approaches to temporal verification have either sacrificed compositionality in favor of achieving automation or vice-versa. To exploit the best of both worlds, we present a new solution to ensure temporal properties via a Hoare-style verifier and a term rewriting system (T.r.s) on Integrated Dependent Effects. The first contribution is a novel effects logic capable of integrating value-dependent finite and infinite traces into a single disjunctive form, resulting in more concise and expressive specifications. As a second contribution, by avoiding the complex translation into automata, our purely algebraic T.r.s efficiently checks the language inclusion, relying on both inductive and coinductive definitions. We demonstrate the feasibility of our method using a prototype system and a number of case studies. Our experimental results show that our implementation outperforms the automata-based model checker PAT by 31.7% of the average computation time.

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

Access this chapter

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 EPUB and 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

Institutional subscriptions

Notes

  1. 1.

    If the event sequence is possibly empty, i.e. contains , we call it nullable, formally defined in Definition 1.

  2. 2.

    We check the inclusion between the reversed current effects and precondition effects, meaning that, before calling a method, its required effects has just happened.

  3. 3.

      only needs to capture the effects from the current method body, excluding the history effects specified in .

  4. 4.

    As the implementations according to basic regular expressions can be found in prior work [12]. Here, we focus on presenting the definitions and how do we deal with dependent values in the effects, as the key novelties of this work.

  5. 5.

    The proof obligations are discharged using the Z3 SMT prover, while deciding the nullability of effects constructed by symbolic terms, represented by .

  6. 6.

    A residue refers to the remaining event sequences from antecedent after matching up with the consequent. An inclusion with no residue means the antecedent completely/exactly matches with the consequent.

References

  1. Arduino. https://create.arduino.cc/projecthub/projects/tags/control

  2. Online demo platform. http://loris-5.d2.comp.nus.edu.sg/EffectNew/index.html?ex=send_valid&type=c&options=sess

  3. Almeida, M., Moreira, N., Reis, R.: Antimirov and Mosses’s rewrite system revisited. Int. J. Found. Comput. Sci. 20(04), 669–684 (2009)

    Article  Google Scholar 

  4. Antimirov, V.: Partial derivatives of regular expressions and finite automata constructions. In: Mayr, E.W., Puech, C. (eds.) STACS 1995. LNCS, vol. 900, pp. 455–466. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-59042-0_96

    Chapter  Google Scholar 

  5. Antimirov, V.M., Mosses, P.D.: Rewriting extended regular expressions. Theor. Comput. Sci. 143(1), 51–72 (1995)

    Article  MathSciNet  Google Scholar 

  6. Bezem, M., Klop, J.W., de Vrijer, R.: Terese. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55 (2003)

    Google Scholar 

  7. Brotherston, J.: Cyclic proofs for first-order logic with inductive definitions. In: Beckert, B. (ed.) TABLEAUX 2005. LNCS (LNAI), vol. 3702, pp. 78–92. Springer, Heidelberg (2005). https://doi.org/10.1007/11554554_8

    Chapter  MATH  Google Scholar 

  8. Chin, W.-N., David, C., Nguyen, H.H., Qin, S.: Automated verification of shape, size and bag properties via user-defined predicates in separation logic. Sci. Comput. Program. 77(9), 1006–1036 (2012)

    Article  Google Scholar 

  9. De Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_5

    Chapter  Google Scholar 

  10. Hofmann, M., Chen, W.: Abstract interpretation from büchi automata. In: Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), p. 51. ACM (2014)

    Google Scholar 

  11. Hovland, D.: The inclusion problem for regular expressions. J. Comput. Syst. Sci. 78(6), 1795–1813 (2012)

    Article  MathSciNet  Google Scholar 

  12. Keil, M., Thiemann, P.: Symbolic solving of extended regular expression inequalities. arXiv preprint arXiv:1410.3227 (2014)

  13. Koskinen, E., Terauchi, T.: Local temporal reasoning. In: Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), p. 59. ACM (2014)

    Google Scholar 

  14. Malecha, G., Morrisett, G., Wisnesky, R.: Trace-based verification of imperative programs with I/O. J. Symb. Comput. 46(2), 95–118 (2011)

    Article  MathSciNet  Google Scholar 

  15. Murase, A., Terauchi, T., Kobayashi, N., Sato, R., Unno, H.: Temporal verification of higher-order functional programs. In: ACM SIGPLAN Notices, vol. 51, p. 57–68. ACM (2016)

    Google Scholar 

  16. Nakata, K., Uustalu, T.: A Hoare logic for the coinductive trace-based big-step semantics of while. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 488–506. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11957-6_26

    Chapter  Google Scholar 

  17. Nanjo, Y., Unno, H., Koskinen, E., Terauchi, T.: A fixpoint logic and dependent effects for temporal property verification. In: Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, pp. 759–768. ACM (2018)

    Google Scholar 

  18. Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: towards flexible verification under fairness. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 709–714. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_59

    Chapter  Google Scholar 

Download references

Acknowledgement

This work is supported by the Academic Research Fund (AcRF) Tier-1 NUS research project R-252-000-A63-114.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Yahui Song or Wei-Ngan Chin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Song, Y., Chin, WN. (2020). Automated Temporal Verification of Integrated Dependent Effects. In: Lin, SW., Hou, Z., Mahony, B. (eds) Formal Methods and Software Engineering. ICFEM 2020. Lecture Notes in Computer Science(), vol 12531. Springer, Cham. https://doi.org/10.1007/978-3-030-63406-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-63406-3_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-63405-6

  • Online ISBN: 978-3-030-63406-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics