potential and challenges of recommendation systems for software development
DESCRIPTION
TRANSCRIPT
Potentials and Challengesof Recommendation
Systems for SoftwareDevelopment
Walid Maalej, TU München <[email protected]>Hans-Jörg Happel, FZI Research Center Karlsruhe
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
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
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
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
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
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
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
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
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
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
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?
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
Potentials and Challenges of RS in SD 14© W. Maalej, November 08
Open Source Platform: TeamWeaver
www.teamweaver.org
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
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