Lessons learned from an open-source University Project P. Basdaras, K. Chalkias, A. Chatzigeorgiou,...
-
date post
21-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Lessons learned from an open-source University Project P. Basdaras, K. Chalkias, A. Chatzigeorgiou,...
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
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)
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
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
www.openbet.gr
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"
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):
Supporting Software
• Diff tool for comparing different versions
• extracts new, deleted, modified classes/methods
• Log form Analyzer
• records and visualizes information provided by developers
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
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
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
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
Results – Commits per class (Log form)
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
Results – Type of changes/class (Log form)
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
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
Lessons learned from an open-source
University Project
Thank you for your attention
10th Int. WSEAS Conf. on Computers, July 13, 2006, Vouliagmeni, Greece