• No se han encontrado resultados

CVSAnalY: una herramienta libre para el análisis de repositorios CVS

N/A
N/A
Protected

Academic year: 2021

Share "CVSAnalY: una herramienta libre para el análisis de repositorios CVS"

Copied!
44
0
0

Texto completo

(1)

CVSAnalY: una herramienta libre para el

an´

alisis de repositorios CVS

Israel Herraiz, Gregorio Robles, Jes´

us Gonz´

alez

Barahona

{herraiz, grex, jgb}@gsyc.escet.urjc.es

IV Jornadas Andaluzas de Software Libre.

Algeciras, 5 de noviembre de 2004.

(2)

Grupo de Sistemas y Comunicaciones

1

Grupo de Sistemas y Comunicaciones

Universidad Rey Juan Carlos

http://www.gsyc.info

c

(3)

CALIBRE

2

CALIBRE

Investigaci´on patrocinada por la Acci´on

Coordinada CALIBRE, impulsada por la Comisi´on

Europea

http://calibre.ie

c

(4)

¿Qu´e es CVSAnalY?

3

¿Qu´

e es CVSAnalY?

• Herramienta para analizar repositorios CVS, de

manera remota y desatendida.

• Analiza todos los cambios que se han producido

en el proyecto, para comprobar cu´al ha sido la

evoluci´on.

• Se puede trazar el trabajo de cualquier

desarrol-lador desde el comienzo del proyecto.

c

(5)

¿Qu´e es un CVS?

4

¿Qu´

e es un CVS?

• Servidor d´onde est´a todo el c´odigo del proyecto,

junto con todos los cambios que se han

pro-ducido desde el inicio.

• Se registra qui´en hizo el cambio, cu´ando, d´onde,

y comentarios a˜nadidos por la persona que hizo

el cambio.

• Es un sistema muy extendido en los proyectos

de software libre.

c

(6)

¿Por qu´e usar un CVS para estudiar un proyecto de software libre?

5

¿Por qu´

e usar un CVS para estudiar un

proyecto de software libre?

• Dispersi´on administrativa y geogr´afica.

• Tradicionalmente, se habla del software libre sin

aportar datos (Eric Raymond, La catedral y el

bazar

).

• Ya es hora de analizar el software libre siguiendo

el m´etodo cient´ıfico.

c

(7)

¿S´

olo con el CVS se obtienen resultados v´

alidos?

6

¿S´

olo con el CVS se obtienen resultados

alidos?

• No.

• Tambi´en deber´ıamos analizar listas de correo y

sistemas de seguimiento de fallos.

• La comunidad de personas alrededor de un proyecto

de software libre tiene tanta o m´as importancia

que el proyecto en s´ı.

c

(8)

Pasos durante la ejecuci´

on de CVSAnalY

7

Pasos durante la ejecuci´

on de CVSAnalY

1. Preproceso

• Descarga el c´odigo fuente y los logs

• Parseo de los logs (obtiene el nombre del desarrollador, m´odulo

donde se ha hecho el cambio, fecha, etc)

• Identifica el tipo de archivo (documentaci´on, c´odigo, im´agenes,

traducciones, interfaz de usuario y s´onido)

• Cuenta LOCs usando wc

2. Inserta los resultados del preproceso en una base de datos

3. An´alisis estad´ıstico, c´alculo de indicadores, gr´aficas.

c

(9)

Pasos durante la ejecuci´

on de CVSAnalY (cont.)

8

Interfaz web

Los resultados pueden visualizarse mediante una

in-terfaz web

Ejemplos:

• http://libresoft.dat.escet.urjc.es/cvsanal/

gnome2-cvs/

...

• http://libresoft.dat.escet.urjc.es/cvsanal/

c

(10)

¿Qu´e resultados se obtienen? (cont.)

9

¿Qu´

e resultados se obtienen?

• N´umero de m´odulos, desarrolladores, cambios

presentes en el servidor (n´umero de ficheros a˜nadidos

o eliminados, l´ıneas a˜nadidas o eliminadas,

. . .)

• D´atos hist´oricos (los datos anteriores en cualquier

momento del proyecto -hace un a˜no, hace dos,

etc-)

• Indicadores de desigualdad (por ejemplo, el

co-eficiente de Gini)

c

(11)

¿Qu´e resultados se obtienen?

10

• Generaciones de desarrolladores

c

(12)

Ejemplos de resultados

11

Ejemplos de resultados

c

(13)

Ejemplos de resultados

12

Desarrolladores a lo largo del tiempo

c

(14)

Ejemplos de resultados (cont.)

13

c

(15)

Ejemplos de resultados (cont.)

14

umero de cambios a lo largo del tiempo

c

(16)

Ejemplos de resultados (cont.)

15

c

(17)

Ejemplos de resultados (cont.)

16

umero de l´ıneas de c´

odigo a lo largo del

tiempo

c

(18)

Ejemplos de resultados (cont.)

17

c

(19)

Ejemplos de resultados (cont.)

18

Coeficiente de Gini

c

(20)

Ejemplos de resultados (cont.)

19

c

(21)

Ejemplos de resultados (cont.)

20

Generaciones de desarrolladores (Evolution)

c

(22)

Ejemplos de resultados (cont.)

21

c

(23)

Ejemplos de resultados (cont.)

22

Otro ejemplo de generaciones de

desarrolladores (KDE)

c

(24)

Ejemplos de resultados (cont.)

23

c

(25)

Ejemplos de resultados (cont.)

24

Otro ejemplo de generaciones de

desarrolladores (FreeBSD ports)

c

(26)

Ejemplos de resultados (cont.)

25

c

(27)

Ejemplos de resultados (cont.)

26

Otro ejemplo de generaciones de

desarrolladores (FreeBSD src)

c

(28)

Ejemplos de resultados (cont.)

27

c

(29)

Ejemplos de resultados (cont.)

28

Otro ejemplo de generaciones de

desarrolladores (Mozilla)

c

(30)

Ejemplos de resultados (cont.)

29

c

(31)

Ejemplos de resultados (cont.)

30

Y la excepci´

on (Mono)

c

(32)

Ejemplos de resultados (cont.)

31

c

(33)

Trazado de desarrolladores

32

Trazado de desarrolladores

Te estamos vigilando...

c

(34)

Trazado de desarrolladores (cont.)

33

¿En qu´

e trabaja Miguel de Icaza?

c

(35)

Trazado de desarrolladores (cont.)

34

¿Antonio, haces tu trabajo? ;-)

c

(36)

Trazado de desarrolladores (cont.)

35

Cambios a lo largo del tiempo para un

desarrollador

c

(37)

Trazado de desarrolladores (cont.)

36

c

(38)

Trazado de desarrolladores (cont.)

37

L´ıneas de c´

odigo a lo largo del tiempo para

un desarrollador

c

(39)

Trazado de desarrolladores (cont.)

38

c

(40)

Conclusiones

39

Conclusiones

• An´alisis remoto y desatendido

• Perspectiva global del proyecto. Gesti´on de recursos humanos.

• No s´olo en el momento actual, sino en cualquier momento anterior.

• Los resultados obtenidos son la base para una evaluaci´on econ´omica

del proyecto y su evoluci´on.

• Cualquier estudio acerca del software libre deber´ıa ser justificado

emp´ıricamente (no m´as catedrales y bazares).

c

(41)

Seguimos trabajando...

40

Seguimos trabajando...

• An´alisis integrado: CVS, listas de correo y BTS.

• GUI: pon la URL del CVS y dale al bot´on Analizar.

• Documentaci´on (opciones de configuraci´on, tutorial, FAQ)

• Arreglar los bugs ;-)

• Integrar CVSAnalY con SlocCount, para no tener que usar wc para

contar l´ıneas de c´odigo

• Comparar los resultados de SlocCount a lo largo del tiempo (c´odigo

de las releases), con los resultados de CVSAnalY (¿cu´anto c´odigo

del CVS se elimina antes de publicar una nueva release?)

c

(42)

Referencias

41

Referencias

• Gregorio Robles, Stefan Koch and Jes´

us M. Gonz´alez-Barahona.

Remote analysis and measurement of libre software systems by

means of the CVSAnalY tool. Proceedings of the 2nd ICSE

Work-shop on Remote Analysis and Measurement of Software Systems

(RAMSS ’04). 26th International Conference on Software

Engi-neering (Edinburgh, Scotland). May, 24th 2004

• Yuwen Ke, Kumiyo Nakakoji, Yasuhiro Yamamoto and Kouichi Kishida.

The co-evolution of systems and communities in free and open

source software development. Chapter III of Free/Open Source

Software Development. Stefan Koch (editor). Hershey, 2005.

• Giovano Francesco Lanzara and Mich`ele Morner. The knowledge

ecology of open source projects. 19th European Group of

Organi-zational Studies Colloquium (Copenhagen, Denmark). July 2003.

c

(43)

Referencias (cont.)

42

• Victor R. Basili, Gianluigi Caldiera and H. Dieter Rombach.

Mea-surement

(full reference?).

• Jes´

us M. Gonz´alez-Barahona and Gregorio Robles. Unmounting the

code gods assumptions.

Technical Report, 2003.

• Gregorio Robles, Jes´

us M. Gonz´alez Barahona and Rishab A. Gosh.

GlueTheos: automating the retrieval and analysis of data from

publicly available software repositories. Proceedings of the Mining

Software Repositories Workshop. 26th International Conference on

Software Engineering (Edinburgh, Scotland). May 25th 2004

c

(44)

Gracias por vuestra atenci´

on.

43

Gracias por vuestra atenci´

on.

• Prueba CVSAnalY y explora los resultados en

http://libresoft.dat.escet.urjc.es/cvsanal/

• Si est´as interesado en usar nuestra herramienta,

contacta con nosotros: {herraiz, grex}@gsyc.escet.urjc.es

• Y por supuesto, no dudes en realizar cualquier

pregunta ahora mismo.

c

Referencias

Documento similar

Como primera propuesta se tiene a la herramienta AndroMDA 3.2 con el lenguaje MOF, la selección de esta herramienta como propuesta se basa en que la herramienta es libre,

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Se propone como solución el desarrollo de una herramienta que permita crear de forma sencilla entornos virtuales realistas gracias a repositorios de modelos 3D

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

El desarrollo de la herramienta informática para la generación de reportes dinámicos basados en Apache Solr para el sistema para repositorios digitales REPXOS 3.0,

La versión electrónica se hará pública en repositorios de acceso abierto reconocidos en el campo de conocimiento en la que se ha desarrollado la investigación o en repositorios

Non Invasive diagnosis of subclinical and mild CHD: 1) increase the prescription of a statin in hypercholesterolemic patients; 2) enhancing the adherence, and perhaps the targets

La presente Bitácora, se desarrolla desde un enfoque hermenéutico crítico-reconstructivo planteado por Habermas 1 , permitiendo por un lado la comprensión del objeto