Skip to main content

The MEB and CEB Static Analysis for CSP Specifications

  • Conference paper
Logic-Based Program Synthesis and Transformation (LOPSTR 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5438))

Abstract

This work presents a static analysis technique based on program slicing for CSP specifications. Given a particular event in a CSP specification, our technique allows us to know what parts of the specification must necessarily be executed before this event, and what parts of the specification could be executed before it in some execution. Our technique is based on a new data structure which extends the Synchronized Control Flow Graph (SCFG). We show that this new data structure improves the SCFG by taking into account the context in which processes are called and, thus, makes the slicing process more precise.

This work has been partially supported by the EU (FEDER and FP7 research project 214158 DEPLOY), by DAAD (PPP D/06/12830); by the Spanish MEC/MICINN under grants TIN2005-09207-C03-02, TIN2008-06622-C03-02, and Acción Integrada HA2006-0008; by the Generalitat Valenciana under grant GVPRE/2008/001; and by the Programa de Apoyo a la Investigación y Desarrollo de la Universidad Politécnica de Valencia.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Butler, M., Leuschel, M.: Combining CSP and B for specification and property verification. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 221–236. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Callahan, D., Sublok, J.: Static analysis of low-level synchronization. In: Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and Distributed Debugging (PADD 1988), New York, NY, USA, pp. 100–111 (1988)

    Google Scholar 

  3. Cheng, J.: Slicing concurrent programs - a graph-theoretical approach. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol. 749, pp. 223–240. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  4. Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems 9(3), 319–349 (1987)

    Article  MATH  Google Scholar 

  5. Harrold, M.J., Rothermel, G., Sinha, S.: Computation of interprocedural control dependence. In: International Symposium on Software Testing and Analysis, pp. 11–20 (1998)

    Google Scholar 

  6. Hoare, C.A.R.: Communicating sequential processes. Communications ACM 26(1), 100–106 (1983)

    Article  Google Scholar 

  7. Kavi, K.M., Sheldon, F.T., Shirazi, B.: Reliability analysis of CSP specifications using petri nets and markov processes. In: Proceedings 28th Annual Hawaii International Conference on System Sciences. Software Technology, January 3-6, Wailea, HI, vol. 2, pp. 516–524 (1995)

    Google Scholar 

  8. Krinke, J.: Static slicing of threaded programs. In: Workshop on Program Analysis For Software Tools and Engineering, pp. 35–42 (1998)

    Google Scholar 

  9. Krinke, J.: Context-sensitive slicing of concurrent programs. ACM SIGSOFT Software Engineering Notes 28(5) (2003)

    Google Scholar 

  10. Ladkin, P., Simons, B.: Static deadlock analysis for csp-type communications. In: Responsive Computer Systems, ch. 5. Kluwer Academic Publishers, Dordrecht (1995)

    Google Scholar 

  11. Leuschel, M., Butler, M.: ProB: an automated analysis toolset for the B method. Journal of Software Tools for Technology Transfer 10(2), 185–203 (2008)

    Article  Google Scholar 

  12. Leuschel, M., Fontaine, M.: Probing the depths of CSP-M: A new FDR-compliant validation tool. In: Liu, S., Maibaum, T., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 278–297. Springer, Heidelberg (2008)

    Google Scholar 

  13. Nanda, M.G., Ramesh, S.: Slicing concurrent programs. In: Proceedings of the 2000 ACM SIGSOFT International Symposium on Software Testing and Analysis, New York, NY, USA, pp. 180–190 (2000)

    Google Scholar 

  14. Naumovich, G., Avrunin, G.S.: A conservative data flow algorithm for detecting all pairs of statements that happen in parallel. SIGSOFT Software Engineering Notes 23(6), 24–34 (1998)

    Article  Google Scholar 

  15. Roscoe, A.W., Gardiner, P.H.B., Goldsmith, M., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical compression for model-checking CSP or how to check 10\(^{\mbox{20}}\) dining philosophers for deadlock. In: Proceedings of the First International Workshop Tools and Algorithms for Construction and Analysis of Systems, pp. 133–152 (1995)

    Google Scholar 

  16. Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3, 121–189 (1995)

    Google Scholar 

  17. Weiser, M.D.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)

    Article  MATH  Google Scholar 

  18. Zhao, J., Cheng, J., Ushijima, K.: Slicing concurrent logic programs. In: Proceedings of the 2nd Fuji International Workshop on Functional and Logic Programming, pp. 143–162 (1997)

    Google Scholar 

  19. Zhao, J.: Slicing aspect-oriented software. In: Proceedings of the 10th IEEE International Workshop on Programming Comprehension, pp. 251–260 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leuschel, M., Llorens, M., Oliver, J., Silva, J., Tamarit, S. (2009). The MEB and CEB Static Analysis for CSP Specifications. In: Hanus, M. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2008. Lecture Notes in Computer Science, vol 5438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00515-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00515-2_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00514-5

  • Online ISBN: 978-3-642-00515-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics