A Path-based Equivalence Checking Method for Petri Net based Models of Programs

Soumyadip Bandyopadhyay, Dipankar Sarkar, Kunal Banerjee, Chittaranjan Mandal

Abstract

Programs are often subjected to significant optimizing and parallelizing transformations. It is therefore important to model parallel behaviours and formally verify the equivalence of their functionalities. In this work, the untimed PRES+ model (Petri net based Representation of Embedded Systems) encompassing data processing is used to model parallel behaviours. Being value based with inherent scope of capturing parallelism, PRES+ models depict such data dependencies more directly; accordingly, they are likely to be more convenient as the intermediate representations (IRs) of both the source and the transformed codes for translation validation than strictly sequential variable-based IRs like Finite State Machines with Datapath (FSMDs) (which are essentially sequential control data-flow graphs (CDFGs)). In this work, a path based equivalence checking method for PRES+ models is presented.

References

  1. Z3 SMT Slover. http:/www.z3.codeplex.com/.
  2. Akl, S. G. (1997). Parallel Computation: Models and Methods. Prentice-Hall, Inc.
  3. Bandyopadhyay, S., Banerjee, K., Sarkar, D., and Mandal, C. (2012). Translation validation for pres+ models of parallel behaviours via an fsmd equivalence checker. In VDAT, volume 7373, pages 69-78. Springer.
  4. Bandyopadhyay, S., Sarkar, D., and Mandal, C. (2015). An efficient equivalence checking method for petri net based models of programs. In ICSE (to appear).
  5. Banerjee, K., Karfa, C., Sarkar, D., and Mandal, C. (2014). Verification of code motion techniques using value propagation. IEEE TCAD, 33(8).
  6. Cortes, L., Eles, P., and Peng, Z. (2000). Verification of embedded systems using a petri net based representation. In System Synthesis, 2000. Proceedings. The 13th International Symposium on, pages 149-155.
  7. Cort├ęs, L. A., Eles, P., and Peng, Z. (2003). Modeling and formal verification of embedded systems based on a petri net representation. JSA, 49(12-15):571-598.
  8. Edwards, S., Lavagno, L., Lee, E. A., and SangiovanniVincentellni, A. (1999). Design of embedded systems: Formal models, validation and synthesis. DAC 7899, pages 296-299.
  9. Floyd, R. W. (1967). Assigning meaning to programs. In Proceedings the 19th Symposium on Applied Mathematics, pages 19-32.
  10. Gupta, S., Dutt, N., Gupta, R., and Nicolau, A. (2003). Spark: a high-level synthesis framework for applying parallelizing compiler transformations. In VLSID, pages 461-466.
  11. Jensen, K., Kristensen, L. M., and Wells, L. (2007). Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. Int. J. Softw. Tools Technol. Transf., 9(3):213-254.
  12. Karfa, C., Mandal, C., and Sarkar, D. (2012). Formal verification of code motion techniques using data-flowdriven equivalence checking. ACM TODAES, 17(3).
  13. Kundu, S., Lerner, S., and Gupta, R. (2008). Validating high-level synthesis. CAV, pages 459-472.
  14. Lengauer, C. (2011). Owicki-gries method of axiomatic verification. In Encyclopedia of Parallel Computing, pages 1401-1406.
  15. Milner, R. (1989). Communication and Concurrency. Prentice-Hall, Inc.
  16. Necula, G. C. (2000). Translation validation for an optimizing compiler. In PLDI, pages 83-94.
  17. Pnueli, A., Siegel, M., and Singerman, E. (1998). Translation validation. In TACAS, pages 151-166.
  18. Rinard, M. and Diniz, P. (1999). Credible compilation. Technical Report MIT-LCS-TR-776, MIT.
  19. S Bandyopadhyay, D Sarkar, K. B. C. M. K. R. D. (2015). A path construction algorithm for translation validation using pres+ models. Parallel processing letter (to appear).
  20. V. Vafeiadis, T Balabonski, S. C. R. M. F. N. (2015). Common compiler optimisations are invalid in the C11 memory model and what we can do about it. In POPL, pages 209-220.
Download


Paper Citation


in Harvard Style

Bandyopadhyay S., Sarkar D., Banerjee K. and Mandal C. (2015). A Path-based Equivalence Checking Method for Petri Net based Models of Programs . In Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015) ISBN 978-989-758-114-4, pages 319-329. DOI: 10.5220/0005513903190329


in Bibtex Style

@conference{icsoft-ea15,
author={Soumyadip Bandyopadhyay and Dipankar Sarkar and Kunal Banerjee and Chittaranjan Mandal},
title={A Path-based Equivalence Checking Method for Petri Net based Models of Programs},
booktitle={Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)},
year={2015},
pages={319-329},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005513903190329},
isbn={978-989-758-114-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)
TI - A Path-based Equivalence Checking Method for Petri Net based Models of Programs
SN - 978-989-758-114-4
AU - Bandyopadhyay S.
AU - Sarkar D.
AU - Banerjee K.
AU - Mandal C.
PY - 2015
SP - 319
EP - 329
DO - 10.5220/0005513903190329