Advertisement

Using Concept Lattices to Uncover Causal Dependencies in Software

  • John L. Pfaltz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3874)

Abstract

Suppose that whenever event x occurs, a second event y must subsequently occur. We say that x “causes” y, or y is causally dependent on x. Deterministic causality abounds in software where execution of one routine can necessarily force execution of a subsequent sub-routine. Discovery of such causal dependencies can be an important step to understanding the structure of undocumented, legacy code.

In this paper we describe a methodology based on formal concept analysis that uncovers possible causal dependencies in execution trace streams. We first walk through the process using a small synthetic, but easily comprehensible, example. Then we illustrate its potential using 57 threads involving 18,969 executed operations that were monitored in an open source middleware system.

Keywords

Temporal Logic Concept Lattice Linear Temporal Logic Trace Data Logical Implication 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ball, T.: The Concept of Dynamic Analysis. In: Proc. Seventh European Software Engineering Conf., September 1999, pp. 216–234 (1999)Google Scholar
  2. 2.
    Emerson, E.A.: Temporal and Modal Logic. In: Handbood of Theoretical Computer Science, pp. 997–1071. Elsevier Science, Amsterdam (1990)Google Scholar
  3. 3.
    Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically Discovering Likely Program Invariants to Support Program Evolution. IEEE Trans. Software Eng. 27(2), 1–25 (2001)CrossRefGoogle Scholar
  4. 4.
    Fisher, M.: A Model Checker for Linear Time Temporal Logic. Formal Aspects of Computing 4(3), 299–319 (1992)zbMATHCrossRefGoogle Scholar
  5. 5.
    Ganter, B., Wille, R.: Formal Concept Analysis - Mathematical Foundations. Springer, Heidelberg (1999)zbMATHGoogle Scholar
  6. 6.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly Automatic Verification of Linear Temporal Logic. In: Dembinski, P., Sredniawa, M. (eds.) Protocol Specification, Testing and Verification XV, Proc. of 15th IFIP Workshop, Warsaw, June 1996, pp. 3–18 (1996)Google Scholar
  7. 7.
    Godin, R., Mili, H.: Building and Maintaining Analysis-Level Class Hierarchies Using Galois Lattices. In: ACM Conf. on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1993), Washington, DC, pp. 394–410 (1993)Google Scholar
  8. 8.
    Godin, R., Missaoui, R.: An Incremental Concept Formation Approach for Learning from Databases. Theoretical Comp. Sci. 133, 387–419 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Godin, R., Missaoui, R., Alaoui, H.: Incremental Concept Formation Algorithms Based on Galois (Concept) Lattices. Computational Intelligence 11(2), 246–267 (1995)CrossRefGoogle Scholar
  10. 10.
    Gouda, K., Zaki, M.J.: Efficiently Mining Maximal Frequent Item Sets. In: 1st IEEE Intern’l Conf. on Data Mining, San Jose, CA (November 2001)Google Scholar
  11. 11.
    Jamison, R.E., Pfaltz, J.L.: Closure Spaces that are not Uniquely Generated. Discrete Appl. Math. 147, 69–79 (2005); Also in Ordinal and Symbolic Data Analysis, OSDA 2000, Brussels, Belgium (July 2000)Google Scholar
  12. 12.
    Lindig, C., Snelting, G.: Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis. In: Proc. of 1997 International Conf. on Software Engineering, Boston, MA, May 1997, pp. 349–359 (1997)Google Scholar
  13. 13.
    Ore, O.: Galois Connexions. Trans. of AMS 55, 493–513 (1944)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Perkins, J.H., Ernst, M.D.: Efficient Incremental Algorithms for Dynamic Detection of Likely Invariants. In: Proc. SIGSOFT 2004/FSE-2, November 2004, pp. 23–32 (2004)Google Scholar
  15. 15.
    Pfaltz, J.L., Taylor, C.M.: Closed Set Mining of Biological Data. In: BIOKDD 2002, 2nd Workshop on Data Mining in Bioinformatics, Edmonton, Alberta, July 2002, pp. 43–48 (2002)Google Scholar
  16. 16.
    Pfaltz, J.L., Taylor, C.M.: Concept Lattices as a Scientific Knowledge Discovery Technique. In: Workshop on Discrete Mathematics and Data Mining, 2nd SIAM International Conference on Data Mining, Arlington, VA, April 2002, pp. 65–74 (2002)Google Scholar
  17. 17.
    Siff, M., Reps, T.: Identifying Modules via Concept Analysis. In: Intn’l Conf. on Software Maintenance, Bari, Italy, October 1997, pp. 170–179 (1997)Google Scholar
  18. 18.
    Snelting, G., Tip, F.: Reengineering Class Hierarchies Using Concept Analysis. In: Proc. ACM SIGSOFT 6th International Symposium on Foundations of Software Engineering, FSE-6, Lake Buena Vista, FL, pp. 99–110 (1998)Google Scholar
  19. 19.
    Tabuada, P., Pappas, G.J.: Linear Time Logic Control of Discrete-time Linear Systems. IEEE Trans. on Automatic Control, in revision (2005)Google Scholar
  20. 20.
    Valtchev, P., Missaoui, R., Godin, R.: A Framework for Incremental Generation of Frequent Closed Itemsets. In: Hammer, P. (ed.) Workshop on Discrete Mathematics & Data Mining, 2nd SIAM Conf. on Data Mining, Arlington, VA, April 2002, pp. 75–86 (2002)Google Scholar
  21. 21.
    Valtchev, P., Missaoui, R., Hacene, R., Godin, R.: Incremental Maintenance of Association Rule Bases. In: Proc. Workshop on Discrete Mathematic and Data Mining, San Francisco, CA (2003)Google Scholar
  22. 22.
    Wille, R.: Restructuring Lattice Theory: An approach based on hierarchies of concepts. In: Rival, I. (ed.) Ordered Sets, pp. 445–470. Reidel, Dordrechtz (1982)Google Scholar
  23. 23.
    Yang, J., Evans, D.: Automatically Inferring Temporal Properties for Program Evolution. In: 15th IEEE Symposium on Software Reliability Engineering (ISSRE 2004), Saint-Malo, France (November 2004)Google Scholar
  24. 24.
    Yang, J., Evans, D.: Dynamically Inferring Temporal Properties. In: Proc. ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2004), Washington, DC (June 2004)Google Scholar
  25. 25.
    Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Terracotta: Mining Temporal API Rules from Imperfect Traces. In: 28th Internl. Conf. on Software Engineering (ICSE 2006), Shanghai, China (May 2006) (submitted)Google Scholar
  26. 26.
    Zaki, M.J.: Generating Non-Redundant Association Rules. In: 6th ACM SIGKDD Intern’l Conf. on Knowledge Discovery and Data Mining, Boston, MA, August 2000, pp. 34–43 (2000)Google Scholar
  27. 27.
    Zaki, M.J., Hsiao, C.-J.: CHARM: An Efficient Algorithm for Closed Association Rule Mining. In: Grossman, R. (ed.) 2nd SIAM International Conf. on Data Mining, Arlington, VA, April 2002, pp. 457–473 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • John L. Pfaltz
    • 1
  1. 1.Dept. of Computer ScienceUniv. of VirginiaCharlottesvilleUSA

Personalised recommendations