Abstract
Software maintainers routinely have to deal with a multitude of artifacts, like source code or documents, which often end up disconnected, due to their different representations and the size and complexity of legacy systems. One of the main challenges in software maintenance is to establish and maintain the semantic connections among all the different artifacts. In this paper, we show how Semantic Web technologies can deliver a unified representation to explore, query and reason about a multitude of software artifacts. A novel feature is the automatic integration of two important types of software maintenance artifacts, source code and documents, by populating their corresponding sub-ontologies through code analysis and text mining. We demonstrate how the resulting “Software Semantic Web” can support typical maintenance tasks through ontology queries and Description Logic reasoning, such as security analysis, architectural evolution, and traceability recovery between code and documents.
Chapter PDF
Similar content being viewed by others
References
Antoniol, G., Canfora, G., Casazza, G., De Lucia, A.: Information Retrieval Models for Recovering Traceability Links between Code and Documentation. In: Proc. of IEEE International Conference on Software Maintenance, San Jose, CA (2000)
Brooks, R.: Towards a Theory of the Comprehension of Computer Programs. International Journal of Man-Machine Studies, 543–54 (1963)
Cunningham, H., Maynard, D., Bontcheva, K., Tablan, V.: GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications. In: Proc. of the 40th Anniversary Meeting of the ACL, Philadelphia (July 2002)
Devanbu, P., Brachman, R.J., Selfridge, P.G., Ballard, B.W.: LaSSIE - a Knowledge-based Software Information System. Comm. of the ACM 34(5), 36–49 (1991)
Haarslev, V., Möller, R.: RACER System Description. In: Proc. of International Joint Conference on Automated Reasoning, Siena, Italy (2002)
Johnson-Laird, P.N.: Mental Models: Towards a Cognitive Science of Language, Inference and Consciousness. Harvard University, Cambridge (1983)
Mayhauser, A.V., Vans, A.M.: Program Comprehension during Software Maintenance and Evolution. IEEE Computer 28(8), 44–55 (1995)
IEEE Standard for Software Maintenance, IEEE 1219-1998
Jin, D., Cordy, J.: Ontology-Based Software Analysis and Reengineering Tool Integration: The OASIS Service-Sharing Methodology. In: Proc. of the 21st IEEE International Conference on Software Maintenance, Budapest, Hungary (2005)
Happel, H.-J., Seedorf, S.: Applications of Ontologies in Software Engineering. In: Proc. of International Workshop on Semantic Web Enabled Software Engineering (2006)
Lethbridge, T.C., Nicholas, A.: Architecture of a Source Code Exploration Tool: A Software Engineering Case Study.Department of Computer Science, University of Ottawa, Technical Report, TR-97-07 (1997)
Lindvall, M., Sandahl, K.: How well do experienced software developers predict software change? Journal of Systems and Software 43(1), 19–27 (1998)
Meng, W., Rilling, J., Zhang, Y., Witte, R., Charland, P.: An Ontological Software Comprehension Process Model. In: Proc. of the 3rd International Workshop on Metamodels, Schemas, Grammars, and Ontologies for Reverse Engineering, Italy (2006)
Riva, C.: Reverse Architecting: An Industrial Experience Report. In: Proc. of the 7th IEEE Working Conference on Reverse Engineering, Australia (2000)
Seacord, R., Plakosh, D., Lewis, G.: Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. Addison-Wesley, Reading (2003)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2003)
Storey, M.A., Sim, S.E., Wong, K.: A Collaborative Demonstration of Reverse Engineering tools. ACM SIGAPP Applied Computing Review 10(1), 18–25 (2002)
Welty, C.: Augmenting Abstract Syntax Trees for Program Understanding. In: Proc. of International Conference on Automated Software Engineering (1997)
Witte, R., Kappler, T., Baker, C.: Ontology Design for Biomedical Text Mining. In: Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences, Springer, Heidelberg (2006)
Zhang, Y., Witte, R., Rilling, J., Haarslev, V.: An Ontology-based Approach for Traceability Recovery. In: Proc. of International Workshop on Metamodels, Schemas, Grammars, and Ontologies for Reverse Engineering, Genoa, Italy (2006)
Ankolekar, A., Sycara, K., Herbsleb, J., Kraut, R., Welty, C.: Supporting Online Problem-solving Communities With the Semantic Web. In: Proc. of the 15th International Conference on World Wide Web (2006)
Happel, H.-J., Korthaus, A., Seedorf, S., Tomczyk, P.: KontoR: An Ontology-enabled Approach to Software Reuse. In: Proc. of the 18th International Conference on Software Engineering and Knowledge Engineering (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Witte, R., Zhang, Y., Rilling, J. (2007). Empowering Software Maintainers with Semantic Web Technologies. In: Franconi, E., Kifer, M., May, W. (eds) The Semantic Web: Research and Applications. ESWC 2007. Lecture Notes in Computer Science, vol 4519. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72667-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-72667-8_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72666-1
Online ISBN: 978-3-540-72667-8
eBook Packages: Computer ScienceComputer Science (R0)