Using CVS Historical I nform ation to Understand How Students - - PowerPoint PPT Presentation

using cvs historical i nform ation to understand how
SMART_READER_LITE
LIVE PREVIEW

Using CVS Historical I nform ation to Understand How Students - - PowerPoint PPT Presentation

Using CVS Historical I nform ation to Understand How Students Develop Softw are Y. Liu, E. Stroulia, K. W ong D. Germ an Department of Computing Science Department of Computer Science University of Alberta University of Victoria JRefleX


slide-1
SLIDE 1

Using CVS Historical I nform ation to Understand How Students Develop Softw are

  • Y. Liu, E. Stroulia, K. W ong

Department of Computing Science University of Alberta

  • D. Germ an

Department of Computer Science University of Victoria

2004-05-25 JRefleX Project

slide-2
SLIDE 2

2

Goals

Enable in-depth understanding of

team projects:

team collaboration patterns individual workload and work pattern code module evolution trends

Assist instructors/ managers:

monitoring teams providing relevant/ timely advice

slide-3
SLIDE 3

3

Constraints

Tightly integrated with development

not an extra effort, unobtrusive

Current information

“real-time”, as the project is developed

Multi-perspective

include information from revision

control, work products, team perceptions, instructor assessments

slide-4
SLIDE 4

4

slide-5
SLIDE 5

5

Top page Project home pag Edited Wiki page Autogenerated Wiki page of a CVS file

slide-6
SLIDE 6

6

Collaboration Analysis

Understanding team collaboration:

What is the “collaboration profile” of

each team ?

What works, what doesn’t?

How does each developer contribute?

What files does the developer affect? With what kinds and numbers of operations?

How does each w ork product evolve?

How does it change? Which and how many developers affect it?

slide-7
SLIDE 7

7

Case Study

Small undergraduate student teams:

3 to 4 developers each

Development process:

common project, three delivery stages

CVS environment:

records evolving work during process

Novices:

new to using CVS in teams little project management experience

slide-8
SLIDE 8

8

Com paring Across Team s

Questions:

What is the distribution of CVS operations? How fast do they start? How long is their development process? How many idle days? …

slide-9
SLIDE 9

9

Com paring Across Team s

Average numbers of operations of all

types, for the teams:

D: regular revisions E: only finished products

slide-10
SLIDE 10

10

Com paring Across Team s

Total numbers of operations over

time, for all teams:

D: continuous early work deadlines

slide-11
SLIDE 11

11

Mem bers w ithin Team

Questions:

Who contributes? In what role(s)?

stub writer, tester, debugger

slide-12
SLIDE 12

12

Mem bers w ithin Team D

Total numbers of operations over

time, for members of team D:

work by member 2

slide-13
SLIDE 13

13

Mem bers w ithin Team D

Numbers of operations of all types,

for members of team D:

few collisions work by member 2 (team lead?)

slide-14
SLIDE 14

14

Mem bers w ithin Team E

Total numbers of operations over

time, for members of team E:

long idle periods

slide-15
SLIDE 15

15

Mem bers w ithin Team E

Numbers of operations of all types,

for members of team E:

work by member 3? independent?

slide-16
SLIDE 16

16

Files of a Team

Questions:

How many source files does a team

have?

Which files are changed by multiple

members?

Which files are heavily changed? Which files are central? Who is the likely author of a file? What is the distribution of operations?

slide-17
SLIDE 17

17

Files of Team D

Resulting lines of code in files:

abnormally high number of files?

slide-18
SLIDE 18

18

Files of Team E

Resulting lines of code in files:

slide-19
SLIDE 19

19

Files of Team E

Added and deleted lines to files:

slide-20
SLIDE 20

20

Assessm ents

Issue:

information implicitly inferred from CVS

data is revealing, but needs to be validated

it is interesting to compare it with data

explicitly provided by developers and managers

these questionnaires are required for

the students to complete

slide-21
SLIDE 21

21

Team D

Compliments:

“because of my group members work ethics in being

determined to start early, w ork regularly, and keeping each other updated on one another’s progress”

“com m unication w as open and constant via ICQ and

email”

“each member was more than willing, if not enthusiastic,

to contribute and participate”

“I was very impressed with other members’ willingness

to help other members with problems in their ‘assigned’ areas”

“student 2 did a lot of w ork with the coding

(especially the interface design”

“very im pressed with the effort that student 2 and

student 1 put into the GUI”

slide-22
SLIDE 22

22

Team E

Complaints (stage 2)

“some confusion as to w ho w as doing w hat. Some

parts were done out of order so we couldn’t do our part until all this other stuff was built”

“some m iscom m unication of what the plan was” “concentrated largely on the front-end and the back-

end was poorly form ed and probably will have to be redone for the next part of the project”

Complaints (stage 3)

“reverted to the old w ays of the computer geek” “it is better to underestimate yourself than to

  • verestimate”
slide-23
SLIDE 23

23

Vision

Ongoing work:

complete, integrated data collection

(e.g., include PSP measures, code metrics, defects, communication)

complementary set of “diff” algorithms

(e.g., compare versions, identify refactorings and co-evolution)

allow teams to reflect on their own

progress and process (process mentor)

improved visualization

slide-24
SLIDE 24

24

Vision

Ongoing work:

data-mining

try to find some associated operation and

set reminders

identify developers according to roles

in-class experiments

we are looking for partners!

{

kenw, s t r

  • u

l i a }@cs. ua lbe r t a . ca

h

t tp : / / www.cs .ua lbe r ta . ca/ ~s t rou l i a / j r e f l ex /

slide-25
SLIDE 25

25

Discussion

Issues:

granularity

  • perations versus MRs

interpretation

knowledge of underlying process

generalizing

  • pen source? scalability?

conducting studies

ethical approval, anonymizing data, privacy

benchmark data sets