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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Backes, M., Köpf, B., Rybalchenko, A.: Automatic discovery and quantification of information leaks. In: S & P (2009)
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)
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)
Clark, D., Hankin, C., Hunt, S.: Information flow for algol-like languages. Comput. Lang. 28(1), 3–28 (2002)
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)
Heusser, J., Malacaria, P.: Quantifying information leaks in software. In: ACSAC, pp. 261–269 (2010)
Jackson, D., Rollins, E.J.: A new model of program dependences for reverse engineering. In: SIGSOFT FSE, pp. 2–10 (1994)
Jackson, D.: Aspect: Detecting bugs with abstract dependences. ACM Trans. Softw. Eng. Methodol. 4(2), 109–145 (1995)
Kuper, R.: Dependency-directed localization of software bugs (1989)
Malacaria, P.: Assessing security threats of looping constructs. In: POPL, pp. 225–235. ACM Press, Nice (2007)
Mateis, C., Stumptner, M., Wieland, D., Wotawa, F.: Model-based debugging of java programs. In: AADEBUG (2000)
McIver, A., Meinicke, L., Morgan, C.: Hidden-markov program algebra with iteration. CoRR abs/1102.0333 (2011)
Moriconi, M., Winkler, T.C.: Approximate reasoning about the semantic effects of program changes. IEEE Transactions on Software Engineering 16, 980–992 (1990)
Mu, C., Clark, D.: An interval-based abstraction for quantifying information flow. In: ENTCS, vol. 59, pp. 119–141. Elsevier (2009)
Mu, C., Clark, D.: Quantitative analysis of secure information flow via probabilistic semantics. In: ARES, pp. 49–57 (2009)
Ottenstein, K.J., Ottenstein, L.M.: The program dependence graph in a software development environment. In: Software Development Environments (SDE), pp. 177–184 (1984)
Rudin, W.: Real and Complex Analysis. McGraw-Hill (1966)
Shannon, C.E.: A mathematical theory of communication. SIGMOBILE Mob. Comput. Commun. Rev. 5(1), 3–55 (1948)
Weise, D., Crew, R.F., Ernst, M., Steensgaard, B.: Value dependence graphs: Representation without taxation. In: POPL, pp. 297–310 (1994)
Weiser, M.D.: Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, aAI8007856 (1979)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)