Skip to main content

Quantitative Program Dependence Graphs

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2012)

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

Included in the following conference series:

  • 1030 Accesses

Abstract

This paper develops a novel approach that analyses dependencies of programs in a quantitative aspect. We introduce a definition of Quantitative Program Dependence Graph (QPDG) which can be used to model a program’s behaviour given spaces of inputs. The programs we consider are in a core while-language. We present the semantics for the purpose of building QPDGs. The QPDG reasons about the program’s quantitative uncertainty behaviours based on a probabilistic analysis. It can be used to characterise dependence analysis of programs in a quantitative way. We also provides an optimisation of the QPDG by doing slicing in order to perform a flow analysis, e.g., how input variables at the source node might affect a given output variable at the target node and how much.

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. Baah, G.K., Podgurski, A., Harrold, M.J.: The probabilistic program dependence graph and its application to fault diagnosis. IEEE Trans. Software Eng. 36(4), 528–545 (2010)

    Article  Google Scholar 

  2. Backes, M., Köpf, B., Rybalchenko, A.: Automatic discovery and quantification of information leaks. In: S & P (2009)

    Google Scholar 

  3. Chatzikokolakis, K., Chothia, T., Guha, A.: Statistical Measurement of Information Leakage. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 390–404. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  4. Clark, D., Hunt, S., Malacaria, P.: A static analysis for quantifying information flow in a simple imperative language. Journal of Computer Security 15, 321–371 (2007)

    Google Scholar 

  5. Clark, D., Hankin, C., Hunt, S.: Information flow for algol-like languages. Comput. Lang. 28(1), 3–28 (2002)

    MATH  Google Scholar 

  6. Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987)

    Article  MATH  Google Scholar 

  7. Heusser, J., Malacaria, P.: Quantifying information leaks in software. In: ACSAC, pp. 261–269 (2010)

    Google Scholar 

  8. Jackson, D., Rollins, E.J.: A new model of program dependences for reverse engineering. In: SIGSOFT FSE, pp. 2–10 (1994)

    Google Scholar 

  9. Jackson, D.: Aspect: Detecting bugs with abstract dependences. ACM Trans. Softw. Eng. Methodol. 4(2), 109–145 (1995)

    Article  Google Scholar 

  10. Kuper, R.: Dependency-directed localization of software bugs (1989)

    Google Scholar 

  11. Malacaria, P.: Assessing security threats of looping constructs. In: POPL, pp. 225–235. ACM Press, Nice (2007)

    Google Scholar 

  12. Mateis, C., Stumptner, M., Wieland, D., Wotawa, F.: Model-based debugging of java programs. In: AADEBUG (2000)

    Google Scholar 

  13. McIver, A., Meinicke, L., Morgan, C.: Hidden-markov program algebra with iteration. CoRR abs/1102.0333 (2011)

    Google Scholar 

  14. Moriconi, M., Winkler, T.C.: Approximate reasoning about the semantic effects of program changes. IEEE Transactions on Software Engineering 16, 980–992 (1990)

    Article  Google Scholar 

  15. Mu, C., Clark, D.: An interval-based abstraction for quantifying information flow. In: ENTCS, vol. 59, pp. 119–141. Elsevier (2009)

    Google Scholar 

  16. Mu, C., Clark, D.: Quantitative analysis of secure information flow via probabilistic semantics. In: ARES, pp. 49–57 (2009)

    Google Scholar 

  17. Ottenstein, K.J., Ottenstein, L.M.: The program dependence graph in a software development environment. In: Software Development Environments (SDE), pp. 177–184 (1984)

    Google Scholar 

  18. Rudin, W.: Real and Complex Analysis. McGraw-Hill (1966)

    Google Scholar 

  19. Shannon, C.E.: A mathematical theory of communication. SIGMOBILE Mob. Comput. Commun. Rev. 5(1), 3–55 (1948)

    Article  Google Scholar 

  20. Weise, D., Crew, R.F., Ernst, M., Steensgaard, B.: Value dependence graphs: Representation without taxation. In: POPL, pp. 297–310 (1994)

    Google Scholar 

  21. Weiser, M.D.: Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, aAI8007856 (1979)

    Google Scholar 

  22. Wotawa, F., Soomro, S.: Fault Localization Based on Abstract Dependencies. In: Ali, M., Esposito, F. (eds.) IEA/AIE 2005. LNCS (LNAI), vol. 3533, pp. 357–359. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mu, C. (2012). Quantitative Program Dependence Graphs. In: Aoki, T., Taguchi, K. (eds) Formal Methods and Software Engineering. ICFEM 2012. Lecture Notes in Computer Science, vol 7635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34281-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34281-3_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34280-6

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics