Author_Institution :
Dept. of Inf., Univ. of Zurich, Zurich, Switzerland
Abstract :
Access to data stored in software repositories by systems such as version control, bug and issue tracking, or mailing lists is essential for assessing the quality of a software system. A myriad of analyses exploiting that data have been proposed throughout the years: source code analysis, code duplication analysis, co-change analysis, bug prediction, or detection of bug fixing patterns. However, easy and straight forward synergies between these analyses rarely exist. To tackle this problem we have developed SOFAS, a distributed and collaborative software analysis platform to enable a seamless interoperation of such analyses. In particular, software analyses are offered as Restful web services that can be accessed and composed over the Internet. SOFAS services are accessible through a software analysis catalog where any project stakeholder can, depending on the needs or interests, pick specific analyses, combine them, let them run remotely and then fetch the final results. That way, software developers, testers, architects, or quality assurance experts are given access to quality analysis services. They are shielded from many peculiarities of tool installations and configurations, but SOFAS offers them sophisticated and easy-to-use analyses. This paper describes in detail our SOFAS architecture, its considerations and implementation aspects, and the current set of implemented and offered Restful analysis services.
Keywords :
Web services; groupware; information retrieval; program testing; service-oriented architecture; software quality; Internet; RESTful Web service; SOFAS; bug fixing pattern; bug prediction; cochange analysis; code duplication analysis; collaborative software analysis platform; data access; issue tracking; lightweight architecture; mailing list; quality analysis service; quality assurance expert; software analysis as a service; software developer; software repository; source code analysis; version control; Computer architecture; Couplings; History; Measurement; Ontologies; Software; Web services;