Software Quality Assurance
The "OpenOffice++" Source Code QA Project
A project of MultiRacio Ltd.
and Department of Software Engineering, University of Szeged, Hungary
MultiRacio Ltd. and the Department of Software Engineering in University of Szeged started a software quality improvement project
OpenOffice++ of OpenOffice.org in November of 2004. The project was 26 months long and had a volume 135 million HUF (0.54 million Euro),
supported with 100 million HUF (0.4 million Euro) by the European Union.
MultiRacio Ltd. is the developer of the OpenOffice.org commercial derivatives called MagyarOffice and EuroOffice.
These commecial derivatives include many extra functionalities, like dictionaries, adaptive menus, professional spell and grammar checker,
EU map module, linear and non-linear optimizer, sound and video support, animated help, enhanced galleries and several other enhancements.
A multi-language linux system, a Mozilla-based internet suite and an SQL database engine are also included in the distribution kit.
The developers of MultiRacio Ltd. accumulated significant knowledge and development practices on the consecutive versions of OpenOffice.org
in the last four and half years.
The team at the Department of Software Engineering, University of Szeged, Hungary, works since 1997 on source code analysis methods and tools
primarily targeted for programs written in the C/C++ language. The research areas include reverse- and re-engineering, slicing,
design pattern mining, fact extraction and metrics computation. A widely used C++ reverse engineering tool Columbus has been developed
in cooperation with the Nokia Research Center and FrontEndART Ltd., which successfully analyses large software systems like OpenOffice.org and Mozilla.
Some years ago work has been started on improving large open source software systems. These activities include improvements of the GNU GCC compiler
to achieve optimal object code generation with respect to the code size, the CSiBE GCC Code-Size Benchmark Environment, the improvements of the JFFS2 file system for embedded GNU/Linux and the measurements
of the Mozilla internet suite for fault-proneness detection.
The goal of the joint OpenOffice++ R&D project (supported by an EU funded national grant) was to analyze and improve the architecture
of OpenOffice.org and the quality of its source code. We have used proven technologies and tools for measuring the quality of the source code.
The applied methods included the automatic analysis of the source code and the extraction of information from which we calculate standard metrics
like cohesion and coupling. From these metrics a model for fault-proneness prediction and quality assessment was built.
Using the extracted information we could automatically identify problematic positions in the code. These problematic positions are
so-called "bad smells" that have been refactored by the developers of MultiRacio to obtain equivalent functionally but better quality code.
This identification was then further improved by applying machine learning methods. The source code of OpenOffice.org will be scanned regularly
and the measured values will be stored. These results will be accessible through a web-based interface, and the resulting patches contributed back
to the OpenOffice.org community. It is also possible to apply this quality assessment and monitoring system to any kind of software developed
in the C++ languages. C# and Java will also be supported soon.