Skip to main content

Concept Lattices in Software Analysis

  • Chapter
Formal Concept Analysis

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3626))

Abstract

About ten years ago, the first serious applications of concept lattices in software analysis were published. Today, a wide range of applications of concept lattices in static and dynamic analysis of software artefacts is known. This overview summarizes important papers from the last ten years, and presents three methods in some detail: 1. methods to extract classes and modules from legacy software; 2. the Snelting/Tip algorithm for application-specific, semantics-preserving refactoring of class hierarchies; 3. Ball’s method for infering dynamic dominators and control flow regions from program traces. We conclude with some perpectives on further uses of concept lattices in software technology.

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 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.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. Ammons, G., Mandelin, D., Bodik, R., Larus, J.: Debugging temporal specifications with concept analysis. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 182–193 (2003)

    Google Scholar 

  2. Ball, T.: The concept of dynamic analysis. In: ESEC / SIGSOFT FSE, pp. 216–234 (1999)

    Google Scholar 

  3. Eisenbarth, T., Koschke, R., Simon, D.: Feature-driven program understanding using concept analysis of execution trace. In: Proc. Ninth International Workshop on Program Comprehension (IWPC 2001) (May 2001)

    Google Scholar 

  4. Fischer, B.: Specification-based browsing of software component libraries. In: Automated Software Engineering, pp. 74–83 (1998)

    Google Scholar 

  5. Godin, R., Missaoui, R., April, A.: Experimental comparison of navigation in a galois lattice with conventional information retrieval methods. International Journal of Man-Machine Studies 38 (1993)

    Google Scholar 

  6. Krone, M., Snelting, G.: On the inference of configuration structures from source code. In: Proceedings of the 16th international conference on Software engineering, pp. 49–57. IEEE Computer Society Press, Los Alamitos (1994)

    Chapter  Google Scholar 

  7. Lindig, C.: Concepts: a program for concept lattices, http://www.st.cs.uni-sb.de/~lindig/src/concepts.html

  8. Lindig, C.: Algorithmen zur Begriffsanalyse und ihre Anwendung bei Softwarebibliotheken. PhD thesis, Technische Universität Braunschweig (1999)

    Google Scholar 

  9. Lindig, C., Snelting, G.: Assessing modular structure of legacy code based on mathematical concept analysis. In: Proceedings of the 19th International Conference on Software Engineering, pp. 349–359. ACM Press, New York (1997)

    Google Scholar 

  10. Snelting, G.: Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology (TOSEM) 5(2), 146–189 (1996)

    Article  Google Scholar 

  11. Snelting, G.: Concept analysis - a new framework for program understanding. In: Proc. ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE), pp. 1–10 (1998); Invited contribution

    Google Scholar 

  12. Snelting, G.: Software reengineering based on concept lattices. In: Proc. 4th European Conference on Software Maintenance and Reengineeering, pp. 3–12 (2000) Invited contribution

    Google Scholar 

  13. Siff, M., Reps, T.: Identifying modules via concept analysis. In: Proc. International Conference on Software Maintenance, pp. 170–179. IEEE Computer Society Press, Los Alamitos (1997)

    Chapter  Google Scholar 

  14. Streckenbach, M., Snelting, G.: Behaviour-preserving refactoring with KABA (August 2003) (submitted for publication)

    Google Scholar 

  15. Snelting, G., Tip, F.: Reengineering class hierarchies using concept analysis. In: Proc. ACM SIGSOFT Symposium on the Foundations of Software Engineering, Orlando, FL, November 1998, pp. 99–110 (1998)

    Google Scholar 

  16. Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, pp. 540–582 (May 2000)

    Google Scholar 

  17. Tonella, P., Antoniol, G.: Object-oriented design pattern inference. In: International Conference on Software Maintenance, p. 230 (1999)

    Google Scholar 

  18. van Deursen, A., Kuipers, T.: Identifying objects using cluster and concept analysis. In: Proceedings of the 21st international conference on Software engineering, pp. 246–255. IEEE Computer Society Press, Los Alamitos (1999)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Snelting, G. (2005). Concept Lattices in Software Analysis. In: Ganter, B., Stumme, G., Wille, R. (eds) Formal Concept Analysis. Lecture Notes in Computer Science(), vol 3626. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11528784_14

Download citation

  • DOI: https://doi.org/10.1007/11528784_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27891-7

  • Online ISBN: 978-3-540-31881-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics