Improving Dynamic Inference with Variable Dependence Graph

  • Anand Yeolekar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8734)


Dynamic detection of program invariants infers relationship between variables at program points using trace data, but reports a large number of irrelevant invariants. We outline an approach that combines lightweight static analysis with dynamic inference that restricts irrelevant comparisons. This is achieved by constructing a variable dependence graph relating a procedure’s input and output variables. Initial experiments indicate the advantage of this approach over the dynamic analysis tool Daikon.


program invariants dynamic inference variable dependence graph 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ernst, M.D., Perkins, J.H., Guo, P.J., McCamant, S., Pacheco, C., Tschantz, M.S., Xiao, C.: The daikon system for dynamic detection of likely invariants. Sci. Comput. Program. 69, 35–45 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Ernst, M., et al.: The daikon invariant detector,
  3. 3.
    Nimmer, J.W., Ernst, M.D.: Invariant inference for static checking. In: SIGSOFT FSE, pp. 11–20 (2002)Google Scholar
  4. 4.
    Win, T., Ernst, M.: Verifying distributed algorithms via dynamic analysis and theorem proving (2002)Google Scholar
  5. 5.
    Yeolekar, A., Unadkat, D., Agarwal, V., Kumar, S., Venkatesh, R.: Scaling model checking for test generation using dynamic inference. In: International Conference on Software Testing, Verification and Validation (ICST 2013). IEEE (2013)Google Scholar
  6. 6.
    Yeolekar, A., Unadkat, D.: Assertion checking using dynamic inference. In: Bertacco, V., Legay, A. (eds.) HVC 2013. LNCS, vol. 8244, pp. 199–213. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Xie, T., Notkin, D.: Tool-assisted unit test selection based on operational violations. In: Proc. 18th IEEE International Conference on Automated Software Engineering, pp. 40–48 (2003)Google Scholar
  8. 8.
    Arthur, D.: Evaluating daikon and its applications (2003),
  9. 9.
    Guo, P.J., Perkins, J.H., McCamant, S., Ernst, M.D.: Dynamic inference of abstract types. In: Proceedings of the 2006 International Symposium on Software Testing and Analysis, ISSTA 2006, pp. 255–265. ACM, New York (2006)Google Scholar
  10. 10.
    Zhang, L., Yang, G., Rungta, N., Person, S., Khurshid, S.: Feedback-driven dynamic invariant discovery (2014)Google Scholar
  11. 11.
    Harman, M., Fox, C., Hierons, R., Hu, L., Danicic, S., Wegener, J.: Vada: A transformation-based system for variable dependence analysis. In: Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation 2002, pp. 55–64. IEEE (2002)Google Scholar
  12. 12.
  13. 13.
    Cimatti, A., Griggio, A., Micheli, A., Narasamdya, I., Roveri, M.: Kratos benchmarks,

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Anand Yeolekar
    • 1
  1. 1.Tata Research Development and Design CentreIndia

Personalised recommendations