The goal of the DiCoSA research project is to devise a distributed and collaborative software analysis platform to
allow for interoperability of software quality analysis tools across organisational boundaries. Such
tools will adhere to specific meta-models and ontologies for their category of analysis and offer
a common service interface that enables their composite use on the Internet. These distributed
analysis services shall be widely accessible in an incrementally augmented software quality analysis
portal, where organisations and research groups can share their tools. In particular, the DiCoSA
project aims to answer the following research questions:
-
How can the functionalities of the plethora of tools be offered as widely accessible analysis
services, by providing a distributed and uniform access for the different services in a consistent
way? How can services be composed to provide higher-level services? How can the
advanced services be described in terms of lower-level services?
-
How can the body of knowledge about a software system be shared among geographically
distant groups and organisations to allow for collaborative software analysis? What are effective
ways to present the different kinds of information? How can the information produced
by the services be used to incrementally enrich a body of knowledge about a software system
to allow for advanced analysis workflows?
For DiCoSA we propose the following research tracks:
-
Distributed Software Analysis Architecture --- We and other researchers recently developed
meta-models to represent the source code, the change history, and the quality attributes of
software systems. They will be the basis of our platform. The models of software systems will
be managed in a universally accessible repository, and the data representation for the interoperability
will be harmonized and stored in an unambigously interpretable form. Furthermore, the
architecture will have to keep track of the various tools at disposition.
-
Metamodels & Ontologies --- All analysis tools feature their own explicit or implicit metamodel
of the data they can analyze. The goal is to provide one meta-model for various domain
meta-models and their model transformation rules, which can map any model onto the structure
of the analysis architecture. Due to the volatility of such tools and their implementation, we
will rely on a representation of the domain of such tools by means of ontologies. We will define
an extensible ontology vocabulary that is used by the analysis tools to represent their results as
machine-processable meta-models.
-
Service Description & Composition --- The nature of external tools makes them hardly
predictable in terms of the services they offer and in the way they offer them. Moreover, there is
no clear mechanism to specify what a tool needs as prerequisite information to be able to function.
We plan to develop a service description language by which the services offered by a tool can not
only be described, but also composed into higher-level services.
-
Collaborative Service Views --- The user of a specific analysis service is not interested in
low-level details, but only in the benefits of the services themselves. The objective is to devise
collaborative analysis services, the possibility of choreography and their presentation in a web
portal to enable collaborative analysis.