Skip to main content

Detection of Probabilistic Dangling References in Multi-core Programs Using Proof-Supported Tools

  • Conference paper
Computational Science and Its Applications – ICCSA 2013 (ICCSA 2013)

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

Included in the following conference series:

Abstract

This paper presents a new technique for detection of probabilistic dangling references in multi-core programs. The technique has the form of a simply structured type system and provides a suitable framework for proof-carrying code applications like mobile code applications that have limited resources. The type derivation of each individual analysis serves as a proof for the correctness of the analysis. The type system is designed to analyze parallel programs with structured concurrent constructs: fork-join constructs, conditionally spawned cores, and parallel loops.

For a given program S, a probabilistic threshold p ms , and a probabilistic reference analysis for S, if S is well-typed in our proposed type system then all computational paths with probabilities greater than or equal to p ms will contain no dangling pointers at run time. The soundness of the presented type system is proved in this paper with respect to a probabilistic operational semantics to our model language.

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. Ahmad, F., Huang, H., Wang, X.-L.: Petri net modeling and deadlock analysis of parallel manufacturing processes with shared-resources. J. Syst. Softw. 83, 675–688 (2010)

    Article  Google Scholar 

  2. Antonatos, S., Anagnostakis, K.G.: TAO: Protecting against hitlist worms using transparent address obfuscation. In: Leitold, H., Markatos, E.P. (eds.) CMS 2006. LNCS, vol. 4237, pp. 12–21. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Benton, N.: Simple relational correctness proofs for static analyses and program transformations. In: Jones, N.D., Leroy, X. (eds.) POPL, pp. 14–25. ACM (2004)

    Google Scholar 

  4. Bhatkar, S., Sekar, R., DuVarney, D.C.: Efficient techniques for comprehensive protection from memory error exploits. In: Proceedings of the 14th Conference on USENIX Security Symposium, vol. 14, p. 17. USENIX Association, Berkeley (2005)

    Google Scholar 

  5. Callahan, D., Cooper, K.D., Kennedy, K., Torczon, L.: Interprocedural constant propagation. SIGPLAN Not. 39, 155–166 (2004)

    Article  Google Scholar 

  6. Chang, Y.-H., Kuo, T.-W.: A management strategy for the reliability and performance improvement of mlc-based flash-memory storage systems. IEEE Trans. Computers 60(3), 305–320 (2011)

    Article  MathSciNet  Google Scholar 

  7. Collard, J.-F., Griebl, M.: A precise fixpoint reaching definition analysis for arrays. In: Carter, L., Ferrante, J. (eds.) LCPC 1999. LNCS, vol. 1863, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  8. El-Zawawy, M.A.: Semantic spaces in Priestley form. PhD thesis, University of Birmingham, UK (January 2007)

    Google Scholar 

  9. El-Zawawy, M.A.: Flow sensitive-insensitive pointer analysis based memory safety for multithreaded programs. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011, Part V. LNCS, vol. 6786, pp. 355–369. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  10. El-Zawawy, M.A.: Probabilistic pointer analysis for multithreaded programs. ScienceAsia 37(4), 344–354 (2011)

    Article  Google Scholar 

  11. El-Zawawy, M.A.: Program optimization based pointer analysis and live stack-heap analysis. International Journal of Computer Science Issues 8(2), 98–107 (2011)

    Google Scholar 

  12. El-Zawawy, M.A.: Abstraction analysis and certified flow and context sensitive points-to relation for distributed programs. In: Murgante, B., Gervasi, O., Misra, S., Nedjah, N., Rocha, A.M.A.C., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2012, Part IV. LNCS, vol. 7336, pp. 83–99. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  13. El-Zawawy, M.A.: Dead code elimination based pointer analysis for multithreaded programs. Journal of the Egyptian Mathematical Society 20(1), 28–37 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  14. El-Zawawy, M.A.: Heap slicing using type systems. In: Murgante, B., Gervasi, O., Misra, S., Nedjah, N., Rocha, A.M.A.C., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2012, Part III. LNCS, vol. 7335, pp. 592–606. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. El-Zawawy, M.A.: Recognition of logically related regions based heap abstraction. Journal of the Egyptian Mathematical Society 20(2) (2012)

    Google Scholar 

  16. El-Zawawy, M.A.: Frequent statement and de-reference elimination for distributed programs. In: Murgante, B., Misra, S., Carlini, M., Torre, C.M., Quang, N.H., Taniar, D., Apduhan, B.O., Gervasi, O. (eds.) ICCSA 2013, Part III. LNCS, vol. 7973, pp. 82–97. Springer, Heidelberg (2013)

    Google Scholar 

  17. El-Zawawy, M.A., Daoud, N.M.: M. Daoud. Dynamic verification for file safety of multithreaded programs. IJCSNS International Journal of Computer Science and Network Security 12(5), 14–20 (2012)

    Google Scholar 

  18. El-Zawawy, M.A., Daoud, N.M.: New error-recovery techniques for faulty-calls of functions. Computer and Information Science 5(3), 67–75 (2012)

    Article  Google Scholar 

  19. El-Zawawy, M.A., Jung, A.: Priestley duality for strong proximity lattices. Electr. Notes Theor. Comput. Sci. 158, 199–217 (2006)

    Article  Google Scholar 

  20. El-Zawawy, M.A., Partial, H.A.N.: redundancy elimination for multi-threaded programs. IJCSNS International Journal of Computer Science and Network Security 11(10), 127–133 (2011)

    Google Scholar 

  21. El-Zawawy, M.A., Nayel, H.A.: Type systems based data race detector. IJCSNS International Journal of Computer Science and Network Security 5(4), 53–60 (2012)

    Google Scholar 

  22. Hall, M.W., Amarasinghe, S.P., Murphy, B.R., Liao, S.-W., Lam, M.S.: Interprocedural parallelization analysis in suif. ACM Trans. Program. Lang. Syst. 27, 662–731 (2005)

    Article  Google Scholar 

  23. Hauswirth, M., Chilimbi, T.M.: Low-overhead memory leak detection using adaptive statistical profiling. In: Mukherjee, S., McKinley, K.S. (eds.) ASPLOS, pp. 156–164. ACM (2004)

    Google Scholar 

  24. Kim, Y.-C., Jun, Y.-K.: Restructuring parallel programs for on-the-fly race detection. In: Malyshkin, V.E. (ed.) PaCT 1999. LNCS, vol. 1662, pp. 446–451. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  25. Knoop, J., Rüthing, O., Steffen, B.: Lazy code motion. SIGPLAN Not 39, 460–472 (2004)

    Article  Google Scholar 

  26. Knoop, J., Steffen, B., Vollmer, J.: Parallelism for free: efficient and optimal bitvector analyses for parallel programs. ACM Trans. Program. Lang. Syst. 18, 268–299 (1996)

    Article  Google Scholar 

  27. Langdon, W.B., Harman, M., Jia, Y.: Efficient multi-objective higher order mutation testing with genetic programming. J. Syst. Softw. 83, 2416–2430 (2010)

    Article  Google Scholar 

  28. Riis Nielson, H., Nielson, F.: Flow logic: A multi-paradigmatic approach to static analysis. In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds.) The Essence of Computation. LNCS, vol. 2566, pp. 223–244. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  29. Novark, G., Berger, E.D.: Dieharder: securing the heap. In: Al-Shaer, E., Keromytis, A.D., Shmatikov, V. (eds.) ACM Conference on Computer and Communications Security, pp. 573–584. ACM (2010)

    Google Scholar 

  30. Novark, G., Berger, E.D., Zorn, B.G.: Exterminator: Automatically correcting memory errors with high probability. Commun. ACM 51, 87–95 (2008)

    Article  Google Scholar 

  31. Robertson, W.K., Krügel, C., Mutz, D., Valeur, F.: Run-time detection of heap-based overflows. In: LISA, pp. 51–60. USENIX (2003)

    Google Scholar 

  32. Sardiña, S., Padgham, L.: A bdi agent programming language with failure handling, declarative goals, and planning. Autonomous Agents and Multi-Agent Systems 23(1), 18–70 (2011)

    Article  Google Scholar 

  33. Shacham, H., Page, M., Pfaff, B., Goh, E.-J., Modadugu, N., Boneh, D.: On the effectiveness of address-space randomization. In: Proceedings of the 11th ACM Conference on Computer and Communications Security, CCS 2004, pp. 298–307. ACM, New York (2004)

    Google Scholar 

  34. Da Silva, J., Steffan, J.G.: A probabilistic pointer analysis for speculative optimizations. In: Shen, J.P., Martonosi, M. (eds.) ASPLOS, pp. 416–425. ACM (2006)

    Google Scholar 

  35. Srinivasan, H., Hook, J., Wolfe, M.: Static single assignment for explicitly parallel programs. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1993, pp. 260–272. ACM, New York (1993)

    Chapter  Google Scholar 

  36. Ungerer, T., Robič, B., Šilc, J.: A survey of processors with explicit multithreading. ACM Comput. Surv. 35, 29–63 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

El-Zawawy, M.A. (2013). Detection of Probabilistic Dangling References in Multi-core Programs Using Proof-Supported Tools. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2013. ICCSA 2013. Lecture Notes in Computer Science, vol 7975. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39640-3_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39640-3_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39639-7

  • Online ISBN: 978-3-642-39640-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics