Escolar Documentos
Profissional Documentos
Cultura Documentos
18 de noviembre de 2011
Daniel Izquierdo
(cc) 2011 Daniel Izquierdo. Some rights reserved. This document is distributed under the Creative Commons Attribution-ShareAlike 3.0 licence, available in http://creativecommons.org/licenses/by-sa/3.0/
Daniel Izquierdo
Index
Daniel Izquierdo
Data sources
Source code management system Mailing lists Bug tracking system Source code
Daniel Izquierdo
Data sources
Daniel Izquierdo
Index
Daniel Izquierdo
Per commit:
Owner of the change: committer or author Date of commit Files touched Message left by the committer or author Lines involved in the changes
Daniel Izquierdo
Daniel Izquierdo
Workload adequacy
Average number of commits per committer/author Average number of les/lines touched by committer/author Territoriality: number of les only handled by just one developer
Daniel Izquierdo
Distribution of eort:
Distribution of commits per developers (generally following a 20 % - 80 % distribution) Distribution of modules or areas of the source code by developer Others...
Daniel Izquierdo
Daniel Izquierdo
Evolutionary studies
Evolution in number of new people coming to the community (regeneration of developers) Evolution in the number of xing commits (data left by developers in the log message) Evolution in number of commits (is the community growing in activity?)
Daniel Izquierdo
Daniel Izquierdo
Workload adequacy:
How many developers are interacting with end users? Number of e-mails per developer / per user Number of e-mails per mailing list
Daniel Izquierdo
Daniel Izquierdo
Evolutionary analysis:
Evolution in the number of new people posting new e-mails Evolution in the general activity in the Mailing lists
Daniel Izquierdo
Size metrics:
Number Number Number Number Number Number of of of of of of bugs open bugs closed bugs developers xing bugs users reporting bugs developers reporting bugs
Daniel Izquierdo
Workload adequacy:
Average number of bugs xed per developer Average number of bugs remaining open per developer
Daniel Izquierdo
Size adequacy:
Number of lines Number of les Types of programming languages Types of les (source code, translation, images, etc...) Number of lines per le
Daniel Izquierdo
Static metrics
Dynamic metrics
Fan-in/Fan-out
Length of code
Method fan-in/fan-out
Cyclomatic complexity Weighted methods per class Fan-in/Fan-out Number overriding operations
Fog index
Daniel Izquierdo
Daniel Izquierdo
Daniel Izquierdo
Evolutionary studies:
Evolution of the number of lines Clones detection (are parts of the source code being moved to another areas?) Evolution of the architecture Others...
Daniel Izquierdo
Index
Daniel Izquierdo
Using metrics
Metrics are providing objective results, however general conclusions should be inferred from those. Thus, human interpretation is needed. Benchmarks could be created in order to have a comparison model With that benchmark, you will be able to compare the current situation of the assessed project with others
Daniel Izquierdo
Index
Daniel Izquierdo
References
Producing OSS by Karl Fogel Tools and datasets for mining libre software repositories, by Gregorio Robles, Jess M. Gonzlez-Barahona, Daniel u a Izquierdo-Cortzar and Israel Herraiz a Metrics and Models in Software Quality Engineering by Stephen H. Kan
Daniel Izquierdo