Today, abundant source code repositories are available on code repository hosting platforms such as GitHub (128 million repositories in Feb 2020). However, a detailed code quality analysis information is not available for the hosted repositories unless we use an existing code quality analysis tool ourselves to analyze the desired repository. Also, even if one analyzes a set of repositories, a relative scale of code quality is non-trivial to establish. Essentially, if you are a software developer and wondering how good or bad is my project's code quality compared to all the open-source projects out there, you can't get an answer without substantial efforts.
Visualizing various aspects of software code quality provides a structure to the analysis and helps to comprehend the information generated by the code quality analysis tools. Therefore, ready-made visual aids for visualizing key code quality aspects such as code smells at different granularities, code quality metrics, and dependency diagrams could offer great help in understanding the code quality of software systems; existing tools and platforms do not support the above need.
The key features that the platform offers is summarized below.
- An open platform: QScored is an open and free platform that provides code quality information for a large number of open-source repositories (more than 11,000 at the time of writing this text and increasing) analyzed from existing tools. Moreover, you may upload code quality analysis report of your projects to the platform to determine a quality score and a relative quality ranking.
- Quality ranking: QScored computes a quality score and a relative quality rank for all of its hosted projects based on the detected smells at different granularities.
- Language-agnostic code quality visualization: QScored offers a detailed code quality visualization that includes a dependency graph among components, smells distribution among projects' components by their types and their location, and code quality metrics view for the entire project. Furthermore, the platform publishes the XML template that provides a common information exchange format so that the analysis report of other tools, apart from that are used by QScored presently, complying to the template can also be uploaded to the platform.
- REST APIs: The platform offers a set of REST APIs to upload code analysis reports as well as to search a set of projects based on various parameters.
- Quality badges: Software development teams may utilize the quality badges indicating quality score and rank of their project and put it within their repository web-page.