From Maisqual Private Wiki
This is the monthly checkpoint for summarising work that have been accomplished recently. Please feel free to comment.
01/06/2011 Doc Introduction to Maisqual + Readings + Update wiki 03/06/2011 Readings + Summary of this month's work 06/06/2011 Readings + Update wiki 07/06/2011 Readings + R & data manipulations 08/06/2011 Readings + R & data manipulations 09/06/2011 Update Wiki: Readings 13/06/2011 Update Wiki: Glossary 14/06/2011 Update Wiki: Glossary + Standards 15/06/2011 Update Wiki: Glossary + Standards 16/06/2011 Update Wiki: Glossary + Standards 17/06/2011 Readings : metrics 20/06/2011 Readings : metrics 21/06/2011 Readings : metrics 22/06/2011 Readings : metrics + Update wiki readings 23/06/2011 Update wiki readings + summary of this month 24/06/2011 Presenting Maisqual document + Update wiki
 What has been done this month
The work for this month has been targeted at the following objectives:
- Start to fill the maisqual:Category:Glossary and maisqual:Category:Standards parts of the wiki. The glossary has been started, with definitions from as many standards as were available. Many standards have been added, with some basic information about them.
- Continue with readings, with a focus on metrics. 5 papers have been added, other are on the way.
- Following a discussion with Philippe, try to improve hyper-linking in the wiki, to make it really interactive and browsable. That means hyper-linking terms, metrics, standards to their own page, cross-linking papers and definitions.. This is a time-consuming work, but really adds value to the work.
- Continue to improve readability of the wiki: add extensions (math for complex formulae, cite for references), add information about the project.
The readings have been targeted at metrics rather than data-mining for this month. The papers read and added to the wiki are the following:
- maisqual:A Complexity Measure
- maisqual:Improving Software Quality via Code Searching and Mining (remaining of last month's work)
- maisqual:Monitoring Software Quality Evolution for Defects
- maisqual:Software Engineering Metrics: What Do They Measure And How Do We Know
- maisqual:Tools for the Study of the Usual Data Sources Found in Libre Software Projects (remaining of last month's work)
Many other papers and articles have been found about metrics and software measurement.
 About Metrics
The readings above show that metrics have to be carefully thought before being applied. A strong mathematical basis may improve the confidence we have in them.
The better answer, from the knowledge we have now, is the multidimensional analysis:
- First define what we want to measure: efficiency of teams, of code, complexity for what purpose, etc.
- Define metrics based on multiple criteria
This is the main point of Squore: considering multiple metrics to measure something, instead of just relying meaninglessly on a single measure.
 About the process of improvement
The basic process of measurement would look like:
- Measure quality of process and products, considering code metrics, complexity, project history, etc. As an example, one of the measures we could use is the quality evolution patterns shown in maisqual:Monitoring Software Quality Evolution for Defects.
- Ask for directions for improvement (reliability, efficiency, costs, etc.). => Define what are directions for improvement.
- Compute shortest path to next step in that direction.
- Measure improvement and goal completion.
- Get back to 1.
Which means, for the intermediate goals:
- Find the most relevant metrics for quality (whatever we call quality).
- Find correlations between practices and quality (because we will propose practices, I guess).
- Weight them, and find a way to better use *this* practice for *this* quality (again, for whatever we may call quality). => Decision.
 Data Mining and Metrics
Another question is: how can we apply data mining algorithms on software engineering data for our purpose?
Directions that can be foreseen from there are:
- For the multidimensional analysis:
- Can we automatically find the best base measures to be used for the multidimensional analysis?
- Can we compute a "best compromise" between these criteria/measures to measure something at a higher level?
- Once we have correctly measured the state of quality, how it correlates to practices (which are attributes of the code/process)?
- Once we have correctly correlated practices and quality, what is the shortest path to the next step of quality wanted?
 Next Steps
In the next weeks/months, the following items will be investigated/worked on:
- Continue improving the glossary and standards. A first publishable version should show up in September.
- Continue readings on metrics and measurement.
- Continue improving readability/interactivity through linking (both from and outside the wiki).
The directions for the next papers are:
- Read standards, write them to standards/glossary/metrics.
- Find papers relevant for the multidimensional analysis.