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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Ball, T.: The concept of dynamic analysis. In: ESEC / SIGSOFT FSE, pp. 216–234 (1999)
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)
Fischer, B.: Specification-based browsing of software component libraries. In: Automated Software Engineering, pp. 74–83 (1998)
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)
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)
Lindig, C.: Concepts: a program for concept lattices, http://www.st.cs.uni-sb.de/~lindig/src/concepts.html
Lindig, C.: Algorithmen zur Begriffsanalyse und ihre Anwendung bei Softwarebibliotheken. PhD thesis, Technische Universität Braunschweig (1999)
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)
Snelting, G.: Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology (TOSEM) 5(2), 146–189 (1996)
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
Snelting, G.: Software reengineering based on concept lattices. In: Proc. 4th European Conference on Software Maintenance and Reengineeering, pp. 3–12 (2000) Invited contribution
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)
Streckenbach, M., Snelting, G.: Behaviour-preserving refactoring with KABA (August 2003) (submitted for publication)
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)
Snelting, G., Tip, F.: Understanding class hierarchies using concept analysis. ACM Transactions on Programming Languages and Systems, pp. 540–582 (May 2000)
Tonella, P., Antoniol, G.: Object-oriented design pattern inference. In: International Conference on Software Maintenance, p. 230 (1999)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)