collaborative software design & development comparing free open source and proprietary...

54
1 Collaborative Software Design and Development © 2006, Dewayne E Perry Open Source Systems 6 EE 382V – Spring 08 Collaborative Software Design & Development Comparing Free Open Source and Proprietary Products Enos Jones and Danhua Shao

Upload: others

Post on 11-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

1

Collaborative Software Design and Development

© 2006, Dewayne E Perry

Open Source Systems 6

EE 382V – Spring 08

Collaborative Software Design & Development

Comparing Free Open Source and

Proprietary Products

Enos Jones and Danhua Shao

Page 2: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

2

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Overview

Background on innovation and invention in softwareReview of literatureData and MethodologyEmpirical resultsCritique

Page 3: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

3

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Top 10 software innovations of 2004 10. Connect 2nd monitor via the Network 9. Map24 8. Open Office 1.1 - Print to PDF, Flash 7. CodeRush for Visual Studio .NET 6. Visual Studio 2005/C#/VB.NET/IDE/Framework 2.0 5. Gmail - Client side web app. 4. Keyhole - Satellite imagery 3. Google Desktop 2. Microsoft Office System 2003 - Research Sidebar/Pane 1 software innovation - Mozilla Firefox - Find as you type.

Source: Robert Gelb http://www.vbrad.com/article.aspx?id=64

Page 4: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

4

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Research PaperAuthors

Dario Lorenzi - ProfessorCristina Rossi – Researcher

Department of Management, Economics, and Industrial Engineering, Politecnico di Milan

Page 5: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

5

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

What is Innovation in software?Widely Debated by scholarsWhat is the boundary line between innovation and not in programs?Is adaptation to different platforms innovation?What are the most important elements?Seminal studies have highlighted distinction between invention and innovation

Invention: first occurrence of idea for new product or processInnovation: its first commercialization

Innovation – least analyzed economic part despite contributing most to economic growth

Page 6: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

6

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Classifying InnovationFive different classes

New products; new methods of production; new sources of supply; exploitation of new markets; new ways to organize business

Incremental and radical innovationThree levels

Paul Wright –

Invetechhttp://www.ceoforum.com.au

Page 7: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

7

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Classifying InnovationNo comprehensive indicator

MetricsR&D activityPatentsBibliometrical data( publications)

Collect data through surveys and databases

Page 8: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

8

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Failures of Old Indicatorsthe New Economy has made traditional measures of innovation obsolete

PatentsTrademarks

From Commodity-driven to knowledge-driven economy creates new variables

Creation of knowledgeManagement of knowledgeTransfer of knowledge through society

Patents Can’t keep up with rapid evolutionSoftware companies use alternative protectionProcess is in need of change

Page 9: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

9

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Need for New IndicatorsAccount for general software aspects

Drivers of internal innovation processComparisons with other market solutions

Capture specific elementsProgramming languagesPlatformsSoftware architectureNew codingLibrary reuse

Page 10: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

10

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Classification of Innovation for FOSSRadical innovationTechnological modificationsPlatform modificationsMarket innovations

Based on this classification taxonomy analyzed 500 SourceForge projects

436 – not innovative5 – radical innovation

Page 11: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

11

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Data and MethodologySample from study of >900 software firms

Finland, Germany, Italy, Portugal and SpainLarge survey – 2004

Focused on Italian RespondentsAvailable database links complete for Italy onlyExplore Small and Medium Enterprises with low sales and R&D

Page 12: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

12

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Characteristics of Italian Firms

Page 13: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

13

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Customers of Firms

Page 14: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

14

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Assessment Method 1Gathered Data from 3 traditional sources:

TrademarksDatabase of the European Office for Trademarks and Design

PatentsDelphion database

Scientific and Technical PublicationsScopus

As a means of verifying need for alternative indicators

Page 15: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

15

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Assessment Method 2Evaluation by a group of experts ( 3)

Graduate in Telecommunications Engineering working in large firmGraduate in Computer Science, working as System AdministratorGraduate in Computer Science, employed as Research Assistant

Each asked to evaluate innovativeness of 134 software solutions

Each after in depth introduction used a table to reflect opinions

Page 16: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

16

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Software Solution Characteristics

Page 17: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

17

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Types of Software License in Sample

Page 18: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

18

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Experts’ Table

Page 19: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

19

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

IndicatorsFirst Dimension (internal level)

Indicator 1: Product New To Firm?Compare software with others developed by same firmHighlight peculiarities and differences

Second Dimension( firm’s market)Indicator 2: Product New to Market in what it does?

Compare solution with others in marketInnovation in what a solutions does

Indicator 3: Is the Product new to the market under a technological viewpoint?

Innovation in how a solution accomplishes taskExploration of technical aspects

Third Dimension( world level)Indicator 4: Is the software innovative as it contains peculiar and original modules, which can be hardly found in other solutions?

Page 20: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

20

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Indicators (cont.)Third Dimension( world level)

Indicator 5: How the software platform is new with respect to those of other software solutions, also in different market segments?

ShortcomingsSubjective nature of Experts’ opinionsSize of group of experts

AdvantagesExperts’ in-depth market and multiple opinionsStatistical correlation indicated consistency for experts’ metricsAvoided problems with Surveys having respondents whose knowledge is insufficient to taskSummed experts opinions on each indicator to preserve variability and reducing outliers

Page 21: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

21

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Empirical Results

Page 22: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

22

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Inference from Traditional ResultsTraditional methods not suitable to capture innovation

Low use of patentsLow use of trademarksFew publications

This can be a means of justifying an alternative methodology

Lack of information from traditional indicators on innovations

Page 23: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

23

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Empirical Results –

“Experts” MethodMeasurements through research and assessment

Innovation within firm (Dimension 1)

Is the product new to the firm (Indicator 1)

Market in which firm operates (Dimension 2)

Does software better satisfy user needs? ( Indicator 2)Is this new technology to the market ( Indicator 3)

Generality of software innovation to state-of-art and knowledge (Dimension 3)

Does it contain peculiar and original modules?( Indicator 4)Newness of software platform to other solutions ( Indicator 5)

Page 24: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

24

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Grading System for ExpertsRange of scores

1 ( not at all innovative)5 ( very innovative)

Combined scoring system

Synthetic scores by aggregation3 ( all experts agreed that software not innovative)15 ( all experts agreed that software very innovative)

Page 25: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

25

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Statistics of Innovation Indicators

III

IIIII

III

Indicator

MinMax

ModeMean

Std DevMedian

75th %90th %

99th %

0

2

4

6

8

10

12

14

Indicator

Min

Max

Mode

Mean

Std Dev

Median

75th %

90th %

99th %

Page 26: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

26

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Dimension I

Indicator Min MaxMode

Mean Std DevMedian

75th %90th %

99th %

I

1

4

14

7

8.4

2.11

8

1011

14

0

2

4

6

8

10

12

14

Page 27: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

27

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Dimension II

Indicator Min Max Mode Mean Std Dev Median 75th % 90th % 99th %

II

II

3 3

14

8 8

2.78

8

10

12

13.7

23

14

88.8

2.45

9

10.7

12.713.7

0

2

4

6

8

10

12

14

Page 28: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

28

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Dimension III

Indicator Min Max Mode Mean Std Dev Median 75th % 90th % 99th %

III

III

5

3

14

8 7.8

2.46

89

11

13.7

45

13

8 8.4

2.04

8

1011

13

0

2

4

6

8

10

12

14

Page 29: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

29

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Summary of DataData allows insight into research questions

Are software produced by Italian firms innovative?Indication that what is done is more innovative than how

What are typologies of implemented innovation? Mainly incremental rather than radical

Is software based on FOSS more innovative than Proprietary?

134 solutions sampled109 proprietary27 FOSS

Overall the small subgroup of FOSS in sample received higher ratings in all 3 dimensions surveyed

Page 30: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

30

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

CritiqueCons

Authors acknowledge weakness in statisticsProblems with size of samples Too small pool of “experts” surveyingMethod of selecting “experts”Reduced applicability of case studyThe data ultimately does not definitely answer primary question of Innovation of FOSS vs Proprietary

ProsAttempt to address important research questions in a methodical wayThe approach is interesting although not sure how so much was made out of the data

Page 31: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

31

Collaborative Software Design and Development

© 2006, Dewayne E Perry

Open Source Systems 6

EE 382V – Spring 08

Collaborative Software Design & Development

Hipikat: A Project Memory for Software

Development

Enos Jones and Danhua Shao

Page 32: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

32

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Overview

BackgroundHipikat architectureCase studies:

Hipikat recommendation quality studyThe Eclipse newcomer study

Discussion Related worksSummary

Page 33: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

33

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

ProblemChallenges to newcomers:

little knowledge about projectstons of artifacts: source codes, reports, web pages, etc.Which one is the start point?

Traditional solutionmentors

Not effective with “virtual team”Time and distance separationOnly artifacts available

Hipikat: the helper catThe word belongs to the Wolof language, spoken in parts of

West Africa. Hipikat

means a sage or intelligent fellow, one who is in the know, and the same all-round alertness is supposed to characterise

his descendants, the hep-cat, the hip cat, the hipster. (found by Enos)

Page 34: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

34

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Solution: HipikatForm the project memory from development artifacts

import artifacts:source code versionstracking systemmailing listweb pagesetc.

build linkages:Text similarityImplementsetc.

Recommend artifacts for a queryBugzilla

CVS

Web site

Implementschange task

Textsimilarity

Textsimilarity

Textsimilarity Text

similarity

Textsimilarity

Textsimilarity

Page 35: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

35

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Hipikat

in Eclipse

Page 36: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

36

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Query Hipikat

Page 37: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

37

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Reply from Hipikat

Provides reason and confidence for recommendation

Can make further queries on the recommendations

Lists relevant artifactas recommendation

Page 38: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

38

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

A sample scenario -

1Task: fix a new bug, Bug 20982

Page 39: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

39

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

A sample scenario -

2Query on artifacts relevant to new bug

find a similar old bug, Bug 10541

Page 40: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

40

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

A sample scenario -

3Query artifacts relevant to old bug

find a source file: CommitSyncAction.java

Page 41: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

41

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

A sample scenario -

4Query the revision history of CommitSyncAction.java

Page 42: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

42

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

A sample scenario -

5Find changes on CommitSyncAction.java in fixing old bug

This file can be a start point to fix the new bug

Page 43: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

43

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Hipikat

architectureClient/Server structure

Client:Query interface (Eclipse plug-in)

Server:store and update artifactsidentification linkage

log, activity, text similarity, and cvs check-inselect candidate recommendations

Page 44: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

44

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Case Study 1: recommendation qualityGoal: evaluate the effectiveness and accuracy of Hipikat recommendationsStatistic Population

215 fixed tasks in Eclipse 2.1Sample

20 Experiment

For each task query Hipitak for recommendationscheck overlap with the actual solutions in history

Evaluation Criteriaprecisions = correctly recommended solution/total recommendationsrecall = correctly recommended solution / total right solutionsrank of the first-used recommendation

Page 45: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

45

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Recommendation Quality Evaluation Result

Page 46: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

46

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Case study 2: Eclipse newcomer studyGoal: check the effectiveness for newcomer

Can newcomer get benefit from Hipikat?When and from which artifacts will newcomer query Hipikat?How the newcomers evaluate and utilize the recommendations from Hipikat?

Experimenttwo groups of participants

newcomers with Hipikatexperts without Hipikat

two taskseasy taskdifficult task

Proceduretraining newcomers with Eclipse and Hipikat2 interviews during development

middle: change plan end

Check correctness

Page 47: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

47

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Correctness Criteria

Page 48: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

48

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Newcomer evaluation resultsThe easy task

Experts performed worst on handling the special cases25% of experts got right solution 38% of newcomers got right solution 63% of newcomers got basically right solution

The difficult task75% of experts solved it correctly38% of newcomers solved it correctly

Access to Hipikatmore query were made on the difficult taskalmost all the queries were made in first hour

Evaluation to Hipikat recommendationsare used for code re-use or change positions identificationin difficult task, are not used for code understanding

Page 49: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

49

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

DiscussionModel

Recommendation granularitycurrent: file level

Time awarenesssome data may get out-of-date

Collaborative recommendationsneed rating from users

ImplementationPresentation of query results

flat list or clusterScale up

ApplicabilityRefine existing functionalityLearn API usageRecovering design rationalAvoid common errors

Page 50: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

50

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Related worksGroup/organize memory

Design Assistantrecommend design decisions, code structures, and usage of APIneed experts to construct project memory manually

TeamInfoartifact: emaillinkage: keywords

Recommender systemsRemember Agent & CodeBroker

single artifact source: email or source code

Programming by examplesRecommend source code examples from existing projects or intentionally constructed library

Mining software repository (versions)CVSSearchExpertise BrowserExpertise Recommender

Page 51: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

51

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

SummaryIn most cases, Hipikat can provide useful recommendations.With the help from Hipikat, newcomers can achieve comparable results to experts.Questions:

the recommendation quality depends on the amount of artifactsthe effect of developers’ practice on the quality of recommendationsshallow understanding of recommendations

Page 52: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

52

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Pros/ConsPros

well organized studyexperiment with real projectsshow both benefit and shortcomings

Consconstruct validity

criteria in solution evaluationOnly count the solution in real projectmight be multiple solutions for the same task

internal validityEclipse newcomer study

done: newcomer with Hipikat vs. expert without Hipikatsuggest: newcomer with Hipikat vs. newcomer without Hipikat

Page 53: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

53

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

ReferenceHipikat: A Project Memory for Software Development (TSE June 2005, Vol. 31, No. 6)Hipikat: recommending pertinent software development artifacts (ICSE 2003)Hipikat project: http://www.cs.ubc.ca/labs/spl/projects/hipikat/

Page 54: Collaborative Software Design & Development Comparing Free Open Source and Proprietary …users.ece.utexas.edu/~perry/education/382v-s08/L12.pdf · 2008-03-06 · Open Source Systems

54

Collaborative Software Design and Development Open Source 6

© 2006, Dewayne E Perry EE 382V – Spring 08

Questions/Comments?/!