13.07.2015 Views

Author Guide for Preparing Your JISE Paper - IFIP Working Group 2.13

Author Guide for Preparing Your JISE Paper - IFIP Working Group 2.13

Author Guide for Preparing Your JISE Paper - IFIP Working Group 2.13

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

courses students would have completed prior to the ISEcourse are:• Semester 1: C language (Basic Constructs)• Semester 2: Advance C language, UNIX• Semester 3: C++, Logic and FunctionalProgramming• Semester 4: PROLOG, CompilersDuring semesters 1 to 4 students would have acquired certainsoftware development skills (liu, 2005) which may be vitalto the software testing aspect of the ISE course and theimplementation of our framework. These skills are:• Writing small programs (usually in C language) astheir programming assignments• Developing software in teams and collaborating insmall-scale software projects.In the ISE course we try to make students understand thedifference between testing the small programs they write <strong>for</strong>themselves in class and as assignments and the testing oflarge scale software products that they might deal with whenthey graduate. The teaching and learning context focuses onthe identification of software faults and failures, unit andintegration testing, function and per<strong>for</strong>mance testing, writingand execution of test plans/cases, etc.Two lecturers were involved in the pilot study. One wasresponsible <strong>for</strong> scheduling F/OSS activities, the other actingas an adviser. Students at their previous semesters havealready been taught programming, so coding is not a focalpoint of the ISE course. Instead, focus is placed on otheractivities such as software testing.The framework shown in Figure 1 is in three phases. Eachphase describes a context in which students get involved inF/OSS projects activities. Their involvement was basic.Students select a project and download and use the software.Any problems they encounter in the use of the software arereported to the project's community <strong>for</strong> action. Their maintasks were to find and report bugs in their respectiveprojects. These tasks may take the <strong>for</strong>m of functional,usability, or smoke testing. In what follows, we discuss eachphase in turn.Figure 1. F/OSS Framework <strong>for</strong> teaching softwareengineering courses, (Sowe et al. 2006a; pp.262).2.1 Phase 1Phase 1 was a preparatory stage in which the lecturerscheduled classroom activities and guided the students intheir project selection. We discussed with the 150 students inthe ISE course about involving them in software testing inF/OSS projects. Fifteen students volunteered to take part inthe pilot program, but only thirteen students completed theexercise. The F/OSS development process is different fromtraditional software development that students are taught intheir CS courses. Thus, it’s vital at this phase that studentsare introduced to F/OSS. Our introductory lectures were onthe following topics:• What is F/OSS? This section covered the F/OSSdevelopment process, activities in projects, the rightsvarious licenses (e.g. GNU/GPL) grants the user ofF/OSS, etc.• F/OSS communities: Formation, structures andmembers’ roles. We discussed communities in theLinux, Apache, and Debian projects.• Communication: We discussed etiquettes of <strong>for</strong>ums,mailing lists (moderated and un-moderated), andInternet Relay Chats (IRCs).• Collaborative plat<strong>for</strong>ms: We introduced the studentsto CVS, Tinderbox, Bugzilla, bug tracking systems(BTS) and how to browse bug databases.At the end of the introductory lectures the students wereguided to explore source<strong>for</strong>ge.net, a repository of F/OSSprojects. This session was intended to give the students a feelas to the category of F/OSS projects available on theInternet. At the end of the exploratory process the studentsselected their projects. In choosing a project, the studentsfollowed these F/OSS projects selection criteria.• Operating system/plat<strong>for</strong>m (Linux, Windows, etc).Students may choose projects which run on plat<strong>for</strong>mthey are most com<strong>for</strong>table with.• Size of ownership/developers. According to the Bazaarmodel (Raymond, 1999), we expect a project with more“eyeballs” to have higher software developmentactivity. There<strong>for</strong>e, we encouraged the students to selectprojects with three or more developers.• Development status (Alpha, Beta, Mature, etc). Weencouraged the students to use the alpha and betareleases. These versions of the software are released tothe F/OSS community <strong>for</strong> debugging andimplementations of functionalities. Much projectactivity is centered on these versions. The mature andstable releases are not likely to generate muchdiscussion in which students can contribute becausemany of the critical bugs may have been removed.• Programming language (C, C++, etc). If students areto take part in coding activities, they should chooseprogramming languages they are most com<strong>for</strong>tablewith. Coding was desirable but not necessary task <strong>for</strong>this pilot study.• Extensive collaboration in lists/<strong>for</strong>ums. Most projectactivities take place in <strong>for</strong>ums and lists. So it’simportant that students choose projects with active<strong>for</strong>ums. This is mostly the case with projects that arehosted at source<strong>for</strong>ge.net but also having their own websites.Each student was asked to prepare a report on his/herselected project <strong>for</strong> class presentation. In their presentationseach student gave a brief history of his project and listed theproject's characteristics based on the F/OSS projectsselection criteria.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!