Software metrics are a critical tool which provide continuous insight to products and processes and help build reliable software in mission critical environments. Using software metrics we can perform calculations that help assess the effectiveness of the underlying software or process. The two types of metrics relevant to our work is complexity metrics and in-process metrics. Complexity metrics tend to focus on intrinsic code properties like code complexity. In-process metrics focus on a higher-level view of software quality, measuring information that can provide insight into the underlying software development process.
Our aim is to develop and evaluate a metrics dashboard to support Computational Science and Engineering (CSE) software development projects. This task requires us to perform the following activities:
Assess how metrics are used and which general classes/types of metrics will be useful in CSE projects.
Develop a metrics dashboard that will work for teams using sites like Github, Bitbucket etc.
Assess the effectiveness of the dashboard in terms of project success and developer attitude towards metrics and process.
Our current focus is on identifying requirements for the metrics dashboard which include the types of metrics that will help understand and improve the software quality. We have also started the development on the metrics dashboard based on the currently identified metrics types.
We plan to provide a reliable metrics dashboard which could be used by the CSE development teams to improve their software quality, this will be done by instrumenting the metrics dashboard to gather usage statistics. In this way the dashboard evolves continuously.
Shilpika; Thiruvathukal, George K.; Aguiar, Saulo; Läufer, Konstantin; and Hayward, Nicholas J.. Software Metrics and Dashboard (2015). Retrieved from Loyola eCommons, Computer Science: Faculty Publications and Other Works,
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
Computational Engineering Commons, Computer Engineering Commons, Computer Sciences Commons