Over the years, the software engineering community has developed various tools to support the specification, development, and maintainance of software. Many of these tools use proprietary data formats to store artifacts which hamper interoperability. On the other hand, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. Ontologies are used to define the concepts in the domain of discourse and their relationships and as such provide the formal vocabulary applications use to exchange data. Besides the Web, the technologies developed for the Semantic Web have proven to be useful also in other domains, especially when data is exchanged between applications from different parties. Software engineering is one of these domains in which recent research shows that Semantic Web technologies are able to reduce the barriers of proprietary data formats and enable interoperability. In this tutorial, we present Semantic Web technologies and their application in software engineering. We discuss the currentstatus of ontologies for software entities, bug reports, or change requests, as well as semantic representations for software and its documentation. This way, architecture, design, code, or test models can be shared across application boundaries enabling a seamless integration of engineering results.
Dr. Gerald Reif is Senior Research Associate in the Software Engineering research group of the University of Zurich. His research interests are in the area of Semantic Web Technologies and their applications beyond the Web. In the EU research Project on the Social Semantic Desktop he was responsible for the software architecture. Currently his research focus is on applying Semantic Web Technologies in Software engineering and delivered tutorials on this topic at the International Software Engineering Conference (ICSE) in 2008 and 2009.