Open Source Quality Measurements

Department of Software Engineering, University of Szeged

This site is dedicated to source code quality assurance of open source software.

Open source software systems are becoming increasingly important these days. Many companies are investing in open source projects and lots of them are also using such software in their own work. But because open source software is often developed with a different management style as the industrial ones, the quality and reliability of the code needs to be studied. Hence the characteristics of the source code of these projects needs to be measured to obtain more information about it. Various kinds of code measurements can be quite helpful in obtaining information about the quality and fault-proneness of the code.

Projects:

  • SZMM: Monitoring of Software Quality - MoMo, the Mozilla Monitor
    Within this project we took up the challenge to develop a metric-based software quality model and a software quality monitoring system based on it. This was achieved by utilizing our earlier R&D results. The requirement was that the tool developed by us should be applicable for large-scale systems (several million lines of code) as well. As a proof for that, the quality monitoring application for the Mozilla System (2,5 million lines of C++ code) called MoMo had been deployed.
  • OpenOffice++: Improving the Quality of Open Source Software.
    Within the project we analyzed the structural architecture and source code quality of the complex (based on more than one decade old source code) open source program package called OpenOffice.org. The applied methods involved the analysis of the source code, extraction of various facts about it, and the determination of the positions in the source which are problematic regarding its quality. The methods developed by experts were refined by utilizing machine learning algorithms. According to the results we made suggestions for improvements. After the professional revision of these suggestions the developers of EuroOffice/MagyarOffice (based on OpenOffice.org) modified the critical parts of the source code. The project resulted source code whose quality is improved, and which can be extended and maintained more safely. Furthermore, the software tools being developed give the possibility to continuously monitor the quality of the program package.
  • Monitoring of Maemo software quality - MaemoMo, the Maemo Monitor
    Within this project we weekly analyze the structural architecture and source code quality of the open source application development platform for Nokia Internet Tablet products called Maemo. The applied methods involve the analysis of the source code, the calculation of code metrics and the determination of problematic positions in the source code.

Research:

  • Tibor Gyimóthy, Rudolf Ferenc and István Siket.
    Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction.
    (In IEEE Transactions on Software Engineering, Vol. 31, No. 10, October 2005, pages 897-910.)
    This paper describes how we calculated the object-oriented metrics given by Chidamber and Kemerer to illustrate how fault-proneness detection of the source code of the open source web and e-mail suite called Mozilla can be carried out. We checked the values obtained against the number of bugs found in its bug database - called Bugzilla - using regression and machine learning methods to validate the usefulness of these metrics for fault-proneness prediction. We also compared the metrics of several versions of Mozilla to see how the predicted fault-proneness of the software system changed during its development cycle.
  • Rudolf Ferenc, István Siket and Tibor Gyimóthy.
    Extracting Facts from Open Source Software.
    (In Proceedings of the 20th International Conference on Software Maintenance (ICSM 2004), Chicago Illinois, USA, pages 60-69, September 11-17, 2004.)
    In this paper we describe a framework called Columbus with which we calculate the object oriented metrics validated by Basili et al. for illustrating how fault-proneness detection from the open source web and e-mail suite called Mozilla can be done. We also compare the metrics of several versions of Mozilla to see how the predicted fault-proneness of the software system changed during its development. The Columbus framework has been further developed recently with a compiler wrapping technology that now gives us the possibility of automatically analyzing and extracting information from software systems without modifying any of the source code or makefiles. We also introduce our fact extraction process here to show what logic drives the various tools of the Columbus framework and what steps need to be taken to obtain the desired facts.

If you have comments on our results, please give us feedback!


mail to webmaster
Last updated: 2014-11-20
©  2004 -  2024, University of Szeged