Source Code Quality Analyzer

We conduct researches in the field of system development for software source code analysis. There are a lot of new and innovative approaches and methods of source code verification that are being used for analysis of software source code quality. Application of these methods allows detecting architecture and source code bugs, which cannot be detected using simple methods of software testing and require continuous manual code analysis.

The approach we are developing consists of constructing UML diagrams of application classes on basis of source code and further diagram analysis with the use of special metrics. The metrics can be calculated on basis of these diagrams and on the stage of software designing in order to define architecture quality before starting the development of source code. Or they can be calculated using already developed source code in order to test and improve its quality.

The developed technology will be implemented in our products in such a way, that it will allow to organize the quality control process of software architecture and source code while developing this software. It will also generate recommendations for developers on how certain part of source code should be modified. The application of the approach developed by us allows increasing software reliability and reducing its support costs. We are currently working on the development of a new methodology for software development which includes a set of software tools which will allow implementing component-based development, organizing and controlling process, measuring metrics, creating correction reaction, selecting developers into team based on measured results and many other features.

The advantages of our technology:

  • Metrics computing occurs on the early stage of the development process, which allows detecting errors in architecture and assuming the measures to remove them before writing the code. This enables to reduce the efforts connected with the development of a software project, because errors on early stages of software development involve rather big amount of overtime on the following stages of the development process. And on the stage of design the costs of error detection and their removal are minimal.
  • While computing and comparing one and the same set of metrics by UML class diagram and by source code, it is possible to perform comparative analysis and to draw conclusions about how the implementation corresponds with the software architecture.
  • Computing of metrics by UML class diagram doesn’t depend on programming language used for source code development.
  • The computing of software metrics makes it possible to give numerical evaluation to the quality of a product, for example, to such characteristics as predisposition to error occurrence, ease of the following tracking of source code.
  • On basis of metrics computing results, system provides developers with reports about source code quality and gives recommendations on how to modify source code to insure its quality.