Lessons learned from an open-source University Project

18
Lessons learned from an open-source University Project P. Basdaras, K. Chalkias, A. Chatzigeorgiou, I. Deligiannis, P. Tsakiri, N. Tsantalis Department of Applied Informatics University of Macedonia Thessaloniki, Greece 10 th Int. WSEAS Conf. on Computers, July 13, 2006, Vouliagmeni, Greece

description

Lessons learned from an open-source University Project P. Basdaras, K. Chalkias, A. Chatzigeorgiou, I. Deligiannis, P. Tsakiri, N. Tsantalis Department of Applied Informatics University of Macedonia Thessaloniki, Greece. - PowerPoint PPT Presentation

Transcript of Lessons learned from an open-source University Project

Page 1: Lessons learned from an open-source University Project

Lessons learned from an open-source

University Project

P. Basdaras, K. Chalkias, A. Chatzigeorgiou, I. Deligiannis,

P. Tsakiri, N. Tsantalis

Department of Applied Informatics

University of Macedonia

Thessaloniki, Greece

10th Int. WSEAS Conf. on Computers, July 13, 2006, Vouliagmeni, Greece

Page 2: Lessons learned from an open-source University Project

Motivation

• Open-source software development widespread trend

• According to OSI, the basic idea behind open-source software

is that when programmers are free to read, redistribute and

modify the source code, the software evolves

• First spark: Netscape's Navigator (1998)

Page 3: Lessons learned from an open-source University Project

Motivation

• July 2005: Project Initiation

• CSSE Lab, Dept. Applied Informatics, U. of Macedonia, Greece

• Aims:

• to help students understand practices and become familiar

with the philosophical, technological, legal and social issues

• to log all aspects of the software development process • software versions• development effort• programmer capability• LOC• types of changes

Page 4: Lessons learned from an open-source University Project

Project Description

• Project Domain: (typical choices: CRMs, ERPs, scientific software)

• Criteria

• motivation of as many students as possible

• be expandable in a number of axes

• Final Selection: Bet Analysis and Prediction

• clearly a "hot" topic (esp. for male students)

• many students had prior domain knowledge

• Can be expanded to many directions:• filling coupons• Statistical analysis of past data• Visualization• Use of AI• Information retrieval from Web• Risk analysis, portfolio management

Page 5: Lessons learned from an open-source University Project

www.openbet.gr

Page 6: Lessons learned from an open-source University Project

Project Description

• Programming Language: Java

• object-oriented language modular

• undegrads in our Dept. are familiar with Java

• large number of available API's facilitates development

• Development based on a widely used CVS

• Administrative team checks submitted code

• Every student is free to enhance functionality

• Project's Homepage maintains a "to do list"

Page 7: Lessons learned from an open-source University Project

Data Collection

• To obtain an account each participant provides info:

• age, studies, programming experience etc

• When committing a class (smallest piece of code than can be submitted):

Class Name: Consumed Time (mins):Maintenance adaptive: corrective: perfective:Locality of change Local: Propagated: origin of propagation (list):

Page 8: Lessons learned from an open-source University Project

Supporting Software

• Diff tool for comparing different versions

• extracts new, deleted, modified classes/methods

• Log form Analyzer

• records and visualizes information provided by developers

Page 9: Lessons learned from an open-source University Project

Observations

• Student participation helps to comprehend basic practices and

tools

• Development is carried out by a small group

• Intense activity when new requirements are published

• Number of bugs is limited

• Responsibility in following formal/informal rules

• Quick generation of multiple versions

• Further advertisement is necessary

Page 10: Lessons learned from an open-source University Project

Results - LOC

• Analyzed System: 44 functional commits, 13 classes

0

200

400

600

800

1000

1200

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43

Versions

LO

C

Classes

System

Page 11: Lessons learned from an open-source University Project

Results - NOO

010

2030

4050

6070

8090

100

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43

version

NO

O

Page 12: Lessons learned from an open-source University Project

Results – CBO, LCOM, WMC

0

5

10

15

20

25

30

35

40

1 5 9 13 17 21 25 29 33 37 41

versions

CB

O, W

MC

0

10

20

30

40

50

60

70

80

90

LC

OM

WMC

LCOM

CBO

Page 13: Lessons learned from an open-source University Project

Results – Commits per class (Log form)

Page 14: Lessons learned from an open-source University Project

Results – Development Time/class (Log form)

In an actual project this indicates that capable programmers should be allocated to the most time and effort consuming modules

Page 15: Lessons learned from an open-source University Project

Results – Type of changes/class (Log form)

Page 16: Lessons learned from an open-source University Project

Results – Propagation of changes (Log form)

Cou

pon

Ser

ializ

edF

ileF

ilter

Dat

e

Cou

ponP

anel

Tab

leM

odel

Tes

t

Pro

fitC

alcu

latio

nPan

el

Cal

cula

tions

Pan

el

HT

MLF

ileF

ilter

Tes

tRen

dere

r

Bet

Tab

leM

odel

Clo

seT

abIc

on

Cou

ponD

ateC

hoos

er

Gam

eEnt

ry

HT

MLP

arse

r

Sim

pleQ

ueris

t

CouponSerializedFileFilterDateCouponPanel 1 1TableModelTest 1 1 2 1ProfitCalculationPanel 1 2 1CalculationsPanelHTMLFileFilterTestRenderer 1BetTableModel 1 1 1CloseTabIconCouponDateChooser 1 1GameEntryHTMLParserSimpleQuerist

Page 17: Lessons learned from an open-source University Project

Conclusions

• Open-source projects embedded in CS curricula are beneficial:

• from a pedagogic point of view

• as a tool for collecting data

• Suitable project selection is important

• Participation is initially high / slowdown follows

• Offer incentives / Continuous Advertisement

• Rich experience for students / integrated with Software

Engineering Courses

Page 18: Lessons learned from an open-source University Project

Lessons learned from an open-source

University Project

Thank you for your attention

10th Int. WSEAS Conf. on Computers, July 13, 2006, Vouliagmeni, Greece