Quality Monitor - Improving Software Quality by Monitoring its Evolution

Date

2011-12-05

Authors

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The success of software strongly depends on the ability of the software to adapt to new user requirements. However modifying a software is not always an easy task. A high quality software is easier to adapt and improve. A software that is poorly conceived independently whether it is functional or not is costly to change and adapt. Unfortunately quality is difficult to achieve without proper monitoring tools and methodologies. Numerous tools have been proposed to assist software development however they are either restricted to a specific problem range or are considered too academic (identified quality problems are not always understandable by a non-expert). Moreover many of the available tools perform well to identify problems but provide little indication on how to remove those problems. Quality Monitor is a product to monitor the quality of software source code. Quality Monitor innovates by delivering intuitive software visualiza- tions to monitor quality. These software radiographies are accompanied with detailed but comprehensible indications on how to address quality deficiencies. Quality Monitor s visualizations are adjustable to the corporative programming conventions and particularities of the analyzed software making it more flexible and agile than concurrent solutions. In 2009 software maintenance costed the entire Chilean market 437 millions USD according to a survey sponsored by Microsoft and the Chilean government. The controlled experiments we realized in Europe and in South-America with our functional prototype suggest a significant reduction of maintenance cost. We identified three large and prominent Chilean IT companies (Coasin NIC Chile Sonda) that are expressing their interest in Quality Monitor. The problems these companies are facing are similar: a large software developed over a long period has to be maintained and enhanced with new features however the knowledge of its internal has evaded with changes of the development team. By drawing high level representations of soft- ware internals Quality Monitor recovers this knowledge thus facilitating evolution and maintenance. The product and services of Quality Monitor will be operated by Object Guidance a recently created company. The international team behind Object Guidance is composed of 5 people. We are currently applying for a 90000 USD grant resources that will be used to shape the solutions of client requirements.

Description

Quality monitor is the product we envision to answer the following questions: How to help development teams to easily maintain and continuously monitor the quality of their software programs? And what are the actions to be taken to improve the quality of software development? We address these questions using expressive visualization mechanisms and automatic report generation. Quality Monitor automatically sends code quality reports based on the produced visualizations. Quality Monitor produces for a given software a set of radiographies to immediately visualize code anomalies sub-optimal structure and assess the test coverage. Test coverage shows which portion of the software is actually tested with the automatized and repeatable unit tests of the analyzed software. Visual patterns are associated with a given list of actions to efficiently react in order to improve structure and test coverage of the software. The overall objective is to concretize Quality Monitor and offer a solid solution to customer in pain with maintaining their software.

Keywords

Desarrollo de softwere, Transferencia tecnológica

Citation