This deliverable is part of WP3: Source Code Quality and Activity Analysis. It provides descriptions and prototypes of the tools that are needed for source code quality analysis in open source software projects. It builds upon the results of: • Deliverable 3.1 where infra-structure and a domain analysis have been investigated for Source Code Quality Analysis and initial language-dependent and language-agnostic metrics have been prototyped. • Deliverable 3.2 where an integrated architecture for source code analysis and source code activity analysis was presented. The current document adds multi-language support to this architecture. • Collaboration with WP2 and WP5, where an integrated quality model is developed which brings together metrics into concise and comparable descriptions (“factoids”) of project quality aspects. In this deliverable we report solely on source code a metrics which work for specific programming languages, namely Java and PHP. For language agnostic quality analysis we refer to Deliverable 3.3. The work on Tasks 3.3 and 3.4 has been done in parallel. On the one hand, in order to prevent unnecessary duplication the final report on the satisfaction of the requirements that were identified in Deliverable 1.1 are presented here, but not in Deliverable 3.3. On the other hand, for the sake of cohesion and readability, some general design considerations concerning the metrics and their aggregation is copied between the two deliverable documents in the introduction sections of both documents (Section 1). In this deliverable we present: • A brief summary of motivation and challenges for Task 3.4; • The infra-structure to support metrics for PHP; • A build-information (e.g. class paths) recovery tool for Java, called BMW; • Metrics including their motivation in GQM terminology [3]: • Shared metric providers between Java and PHP • Metric providers specific for Java • Metric providers specific for PHP • An overview of the use of the above metrics in the OSSMETER quality model through factoids. • A status update of the full requirements table relevant for WP3. This document is also good to read if you are a user of OSSMETER.
Software Analysis and Transformation

Vinju, J., Shahi, A., & Basten, B. (2014). OSSMETER D3.4 – Language-Specific Source Code Quality Analysis. CWI.