1 / 18

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.

Download Presentation

Lessons learned from an open-source University Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. 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

  4. 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

  5. www.openbet.gr

  6. 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"

  7. 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):

  8. Supporting Software • Diff tool for comparing different versions • extracts new, deleted, modified classes/methods • Log form Analyzer • records and visualizes information provided by developers

  9. 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

  10. Results - LOC • Analyzed System: 44 functional commits, 13 classes

  11. Results - NOO

  12. Results – CBO, LCOM, WMC

  13. Results – Commits per class (Log form)

  14. 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

  15. Results – Type of changes/class (Log form)

  16. Results – Propagation of changes (Log form)

  17. 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

  18. Lessons learned from an open-source University Project Thank you for your attention 10th Int. WSEAS Conf. on Computers, July 13, 2006, Vouliagmeni, Greece

More Related