potential and challenges of recommendation systems for software development

16
Potentials and Challenges of Recommendation Systems for Software Development Walid Maalej , TU München <[email protected]> Hans-Jörg Happel, FZI Research Center Karlsruhe

Upload: walid-maalej

Post on 27-Jan-2015

106 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challengesof Recommendation

Systems for SoftwareDevelopment

Walid Maalej, TU München <[email protected]>Hans-Jörg Happel, FZI Research Center Karlsruhe

Page 2: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 2© W. Maalej, November 08

1

2

3

4

Motivation

State of the Art

Potentials

Research Directions

Next Steps5

Outline

Page 3: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 3© W. Maalej, November 08

Today’s Challenges of Software Projects

1

2

3

4

Four dynamicand increasing

factors

“Multiple” Distribution• Outsourcing, offshoring,

open source, multi-organizational projects

• Problems in coordination,knowledge sharing

• Problems in efficiency

Information Overload• Immense information

sources• Diverse and complex

technologies, frameworksand requirements

Daily Change• Change in design, requirements

and project settings• Knowledge ages

quickly

High Competition• Short “time to market”• Highest productivity, flexibility and

quality is required

Page 4: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 4© W. Maalej, November 08

Need & Chance of RS in Software Eng.

RS have high potentials to address software project challenges

Chances in SENeeds for RS

Software Engineering nature

increases RS potentials

Project data have a structured

or semi-structured format

Both development tasks and

artifacts have well defined

semantics

To deal with today’s projectchallenges, developers needautomated assistance:

In both collaboration anddevelopment work

To increase developmenteffectiveness, efficiency andquality

Page 5: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 5© W. Maalej, November 08

1

2

3

4

Motivation

State of the Art

Potentials of RS

Research Directions

Next Steps5

Outline

Page 6: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 6© W. Maalej, November 08

Client/Server

Client/Server

EclipsePlug-in

Client/Server

Client/Server

Client/Server

Style

Manual

Manual

Continuous

Continuous

Continuous

Manual

Trigger

Give example code forthird party APIs

Predict next methods tobe reused

Hide non-relevantartifacts for current task

Speed up bug fixes byrecommending relatedartifacts

Foster code reuse bysuggesting methods

Inform newcomers andmaintainers about pastdocumentation

Goal

Structural context

Analysis of current class

Task based userinteraction with artifacts

Current bug report(content similarity)

Method comments andsignature; discourse &user model on methods

Explicit query (contentsimilarity)

Context

Source code

Swing apps fromSourceForge

Artifacts in projectworkspace

Community data(code, emails,bug reports...)

JavaDoc, sourcecode

CVS, bug reports,emails

Corpus

Strathcona

RASCAL

Mylyn

Dhruv

CodeBroker

Hipikat

Tool

Recent Research Reaped Several Tools

Page 7: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 7© W. Maalej, November 08

Limitations of Current Approaches

Limitation infunctionality and

technology

To tape the potentials of RS in SD, a systematic account is required

Traditional knowledge representationand hard-coded heuristics

Supported scenarios are reuseor bug fixing, only

Centralized and inflexiblearchitecture

Information provision andexperience capture not supported

Limited Context-AwarenessNo pro-activeness, limited personalization, recommendation not focussed

Page 8: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 8© W. Maalej, November 08

1

2

3

4

Motivation

State of the Art

Potentials of RS

Research Directions

Next Steps5

Outline

Page 9: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 9© W. Maalej, November 08

Recommendation Landscape

Collaboration artifacts: mails,decision rationaleAd-hoc collaborationAwareness

Status, open issues, rationalebehind priority changes

Associations of people withexpertise areas

Experience with new tools

New quality measure, designpatterns

Information that help to solve aparticular problem

Ways of using APIs, useddocumentation

Information Provision

Ask to share / capture ...

Coordination

People

Tools

Quality

Information

Code

Related open issued, emergingpriorities

Experts to contact

How-tos, not used features

Problematic change, patterns toimprove quality

Related, useful information for thecurrent task

Code examples, methods andcomponents to reuse

Information Access

Propose...

Collaboration

Developm

ent

When

What

Page 10: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 10© W. Maalej, November 08

1

2

3

4

Motivation

State of the Art

Potentials of RS

Research Directions

Next Steps5

Outline

Page 11: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 11© W. Maalej, November 08

InformationSeeker

Inverse Search to Support InformationProviders Conventional recommendation systems:

1. Match queries of information seekersagainst a given corpus

2. Pull information into their local space

Information providers are not part of thismodel although they are potential providers ofadditional information

RS using inverse search:

3. Matches the corpus of informationproviders against a given set ofqueries

4. Identify documents worth sharing

InformationProvider

Index

Queries 3. inSearch

4. Share

1. Query

2. Results

Page 12: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 12© W. Maalej, November 08

Challenges of Context Awareness

Long-Term ContextCan we objectively model

a subjective topic likeexperience?

SessionizationHow can we “package”context based on the

time and content?

DesignHow can we modelabstract concepts to

support uniquescenarios?

AggregationHow can we support

different levels ofabstractions with different

factors?

Context RepresentationCan we efficiently

represent data and enablesimple and semantic

interpretation?

Six majorresearch

challenges

Context FactorsWhat should be

observed, what is a partof the context?

Page 13: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 13© W. Maalej, November 08

1

2

3

4

Motivation

State of the Art

Potentials of RS

Research Directions

Next Steps5

Outline

Page 14: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 14© W. Maalej, November 08

Open Source Platform: TeamWeaver

www.teamweaver.org

Page 15: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 15© W. Maalej, November 08

Next event: 2nd Workshop on

Collaboration and Knowledge Sharingin Software Development TeamsKaiserslautern, Germany, March 2nd

Submission Deadline for Research, Experience and Demo Papers:

December 20th, 2008

Visit the workshop website:http://www1.in.tum.de/softeam09

Research Community: Aknowledge

Page 16: Potential And Challenges of Recommendation Systems for Software Development

Potentials and Challenges of RS in SD 16© W. Maalej, November 08

Summary of the Talk

High need and big chance for recommendation systems toaddress today’s main challenges in software projects

1

Existing approaches are promising but have limitations a.o.in supported scenarios and context-awareness

2

Recommendation systems should support development- &collaboration- work for knowledge- consumer & -provider

3

Knowledge sharing and context-awareness are researchchallenges we deal with in TeamWeaver and Aknowledge

4