From Maisqual Wiki
This document is intended for peoples and companies who have a strong interest in the area of "Improving Quality of Software Process and Product via Automatic Learning" and would like to participate in some means. Maisqual stands for "Maisqual Automatically Improves Software QUALity"», and its web headquarters are located at http://maisqual.squoring.com.
See the About Maisqual page for more information on the PhD work.
Who can join Maisqual
Any entity having strong concerns about its software quality can join Maisqual: the more projects are analysed to build the knowledge base, the more accurate the decision model will be.
As a result, the analysis and conclusions of the provided projects will be made available to the partner for his own software development process and products quality assessment and improvement. More generally, this usually results in a global increase of the quality understanding and knowledge in the project team, through exchange of ideas, experience and best practices about software development and measurement.
Two types of projects are useful for this work: so-called basic projects, that have a restrictive set of data to be mined (e.g. source code), and pilot projects, that provide a wide variety of information about the development process (code, bugs, mails, documents, requirements, etc.).
Projects of interest
Basic projects will be used for collecting a large volume of data, mainly on source code, for statistical purposes: i.e. identifying the most relevant set of source code complexity measures to be used for building indicators.
To be eligible as a basic project, requirements are the following:
- Availability of the source code files,
- Source code written either in C, C++, C#; or Java (the list may evolve in the future),
- At least 10 000 LOC for being relevant.
Note that the data collection will be automated using the SQuORE platform. According to the efficiency of SQuORE (e.g.~50 KLOC per minute) , a minimum amount of workload and resources should be required from the industrial partners for collecting data on basic projects source code. SQuORE is made accessible to end users through any computer with a standard Web browser e.g. Internet Explorer, Firefox, Google Chrome.
All industrial partners providing one or more basic projects for the purpose of this project will then be informed of key results of the study. If available, it is planned to perform source code data collection all along the project. However, results will be published on a periodical basis.
Pilot projects will be used for in-depth research on metrics and indicators evolution along the project, by searching for high correlation between software measures and practices. Among them, we consider classic metrics (e.g. Defect Density, SLOC, Test Coverage, Requirements Count) as well as more elaborated metrics (e.g. Maintainability Index, LCOM).
These require the availability of different types of information to be collected on software artifacts, like configuration management and change management system, documentation, execution traces, tests, deployment, internal forums or communication means. For more details on artefacts and metrics, please refer to the maisqual wiki. It is expected to manage at least a few dozens of pilot projects from various industrial partners.
To be eligible as a pilot project, requirements are the following:
- availability of 3 or more versions of the source code files recorded / baselined in configuration management system for trend analysis purposes (all history will be considered),
- source code written either in C, C++, C#; or Java (the list may evolve in the future),
- change and / or configuration management information available at least at file level (function level would be perfect),
- availability of all or part of the base measures on additional work products than the source code: e.g. : Requirements, Change Request, Test Cases, Documents, etc.
Extracting information from various repositories and tools may require a significant amount of work from the industrial partner providing the “pilot” projects. All data collection time will be supported by SQuORING Technologies people.
In the context of pilot projects, additional COTS or Open Source tools may also be used for collecting data on source code: e.g.: Logiscope, PolySpace, eMetrics, ...
More information on the Maisqual project and actors can be found here:
- The About Maisqual article on this wiki.
- SQuORING Technologies: http://www.squoring.com
- The SequeL team from INRIA Lille: https://sequel.lille.inria.fr
Norms and standards:
- ISO/IEC 9126-1 Software Engineering - Product quality - Part 1: Quality model, ISO/IEC, 2001.
- ISO/IEC 9126-2 Software Engineering - Product quality - Part 2: External metrics, ISO/IEC, 2001.
- ISO/IEC 9126-3 Software Engineering - Product quality - Part 3: Internal metrics, ISO/IEC, 2001.
- ISO/IEC 9126-4 Software Engineering - Product quality - Part 4: Quality in use metrics, ISO/IEC, 2001