Poten&als and Challenges of Recommenda&on Systems for So6ware Engineering Dr. Walid Maalej TU München Invited Talk @ Ins&tute of So6ware Technology Graz University of Technology
Poten&alsand
Challengesof
Recommenda&on
SystemsforSo6wareEngineering
Dr.WalidMaalej
TUMünchen
InvitedTalk@
Ins&tuteofSo6wareTechnology
GrazUniversityofTechnology
© W. Maalej, July 2010
Summary
Alargeneedandhighpoten&alsforrecommenda.onsystemstoaddresstoday’smainchallengesinso5wareengineeringprojects
1
Firstresearchresultsarepromisingbuthavelimita&onsinsupportedscenariosandcontext‐awareness
2
Recommenda.onsystemsshouldsupportbothknowledgeconsumer&providerduringdevelopment&collabora&ontasks
3
Majorresearchchallengesincludemodeling,represen.ng,sessionizingandsharingcontext
4
2 Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010 3
Outline
ResearchDirec&ons
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010
DailyChange
• Changeinrequirements,design,
andprojectseHngs
• Knowledgeagesquickly
Poten&alsandChallengesofRecSysinSE 4
Today’sChallengesofSo6wareProjects
1
2
3
4
Fourincreasing
challenges
“Mul&ple”Distribu&on
• Outsourcing,offshoring,opensource,cross‐organiza.onal
projects
• Limitedawarenessabout
informa.on
• Problemsincoordina.on,
knowledgesharing
Informa&onOverload
• Projectswithcomplex
technologies,diverse
frameworksand
requirements
• Immenseinforma.onsources
• Informa.onscaOeredacross
severalsystems
HighCompe&&on
• Short“.metomarket”
• Highestproduc.vity,flexibilityandqualityarerequired
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 5
Poten&alsofRecommenda&onSystemsinSo6wareEngineering
So6wareEngineeringisaperfectdomainforrecommenda&onsystems
ChancesofRecommenda&onSystemsNeedsforRecommenda&onSystems
• Thenatureofso5wareengineeringincreasesthepoten.alsofRecSys
• Mostdatausedisstructuredor
semi‐structured
• Developmentac.vi.esand
projectar.factshavewell
definedseman.cs
• Tocopewiththesegrowingchallengesdevelopersneed
automatedassistance:
• Inbothcollabora.onanddevelopmenttasks
• Toincreasedevelopment
efficiencyandproductquality
©W.Maalej,July2010 6
Outline
ResearchDirec&ons
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 7
Tool Goal Context Trigger Style Corpus
HipikatInformnewcomersandmaintainersaboutpastdocumenta.on
Explicitquery(contentsimilarity)
ManualClient/Server
CVS,bugreports,emails
CodeBrokerFostercodereusebysugges.ngmethods
Methodcommentsandsignature;discourse&usermodelonmethods
Con.nuousClient/Server
JavaDoc,sourcecode
DhruvSpeedupbugfixesbyrecommendingrelatedar.facts
Currentbugreport(contentsimilarity)
Con.nuousClient/Server
Communitydata(code,emails,bugreports...)
MylynHidenon‐relevantar.factsforcurrenttask
Taskbaseduserinterac.onwithar.facts
Con.nuousEclipsePlug‐in
Ar.factsinprojectworkspace
RASCALPredictnextmethodstobereused
Analysisofcurrentclass ManualClient/Server
SwingappsfromSourceForge
StrathconaGiveexamplecodeforthirdpartyAPIs
Structuralcontext ManualClient/Server
Sourcecode
RecentResearchReapedSeveralTools
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 8
Limita&onsofCurrentTools
Limita&oninfunc&onalityand
technology
Asystema&caccountisrequiredtotapethepoten&alsofRecSysinSE
“Hard‐coded”knowledgeand
heuris&cs
Limitedfocus:onlyreuseand
bugfixingscenarios
Centralizedandinflexible
architecture
Informa&onprovisionand
experiencecapturenotsupported
“Pseudo”Context‐Awareness
Nopro‐ac.veness,limitedcontextandpersonaliza.on
©W.Maalej,July2010 9
Outline
ResearchDirec&ons
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010
ALightweightKnowledgeExchangeProcess
KnowledgeAccess
KnowledgeSharing
KnowledgeSeeker
KnowledgeProvider
Lookingforandiden.fyingknowledge
Movingandincorpora.ngknowledge
10 Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 11
Recommenda&onLandscape
When
What
Knowledge Access
Propose...
Knowledge Sharing
Ask to share / capture ...
Engineering
Software Artifacts
Code examples, methods, components, requirements to reuse
Ways of using APIs, used documentation…
Related Information
Related, useful information for the current task…
Information that help to solve a particular problem…
Quality Warn about a problematic change, patterns to improve quality…
New quality measure, design patterns…
Tools How-tos, new features… Experience with new tools…
Collaboration
People Experts to contact… Associations of people with expertise areas…
Awareness Ad-hoc collaboration… Collaboration artifacts: mails, decision rationale…
Coordination Related open issued, emerging priorities…
Status, open issues, rationale behind priority changes…
©W.Maalej,July2010 12
Outline
ResearchDirec&ons:A.Context
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010
WhatisContext?
Poten&alsandChallengesofRecSysinSE 13
Working Session
Used Artifacts
Changed Artifacts
Read Artifacts
Developer’s Interactions
Context is the set of all events and information, which can be observed or interpreted during knowledge work, except those events and pieces of information that constitute the change
©W.Maalej,July2010
AContextAwareModelofSo6wareEngineeringWork
Poten&alsandChallengesofRecSysinSE 14
©W.Maalej,July2010
OpenTaskT
ScrollTaskList
Search ..
?
?
Developer’sWork:FromInterac&onstoInten&ons
Poten&alsandChallengesofRecSysinSE 15
ImportClassX
EditClasspath
ReuseLib
AddBreakpoint
StepintoMethodx
StepintoMethody
DebugApp
Impl.Class
DownloadLibraryL
EditMethoda
EditMethodb
ReadBugReport
CopyURL
PasteURL
OpenURL
ScrollRun
TestApp
Write..
Chat
.
SeekInfo
AssistColleagueonReusingComponentC
…
..Use
ToolT1
ReadTask
TaskT1:ImplementXMLExport
WorkSession1 WorkSession2
FixTableRenderingBug
WorkSession3
Impl.Meth
…
WorkSession4
CloseBug
…
…
Read
Interac&onGranularity
Time
CurrentInten&on
AddMethodb
Session
Seman.cinterac.on
Interac.onwithtools
©W.Maalej,July2010
AScratchofContext‐AwareRecommenda&onTools
ContextObserver
problemproblem
Execu.onOntology
Interac.onOntoloy
Recommenda&onTool
OSsensors
UserProfile
Elicita&on
Problem
events
update
trigger
Applica&onsensors
Execu&onEnv.sensors
Addi.onalfeedback
interact
Session‐iza&on
Poten&alsandChallengesofRecSysinSE 16
©W.Maalej,July2010 17
Outline
ResearchDirec&ons:B.KnowledgeSharing
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010
Conven&onalrecommenda&onsystems
Poten&alsandChallengesofRecSysinSE 18
InverseSearchtoSupportInforma&onProviders
1. Matchqueriesofknowledgeseekersagainstagivencorpus
2. Pullinforma.onintotheirlocalspace
Thismodelexcludesknowledgeprovidersalthoughtheyarepoten.alprovidersofaddi.onalinforma.on Recommenda&onSystemsusing
inversesearch
1. Matchesthecorpusofinforma.onprovidersagainstagiveninforma.onneeds(e.g.asetofqueries)
2. Iden.fydocuments/knowledgeworthsharing
Thismodelassists(andmo.vates)knowledgeprovidersincapturingandsharingtheirknowledge
©W.Maalej,July2010
KnowledgeSeeker
KnowledgeProvider
Index
Queries inverseSearch
Sharing
Subscrip&on
No&fica&on
KnowledgeSeeker
Index
QueriesQuery
Results
Retroac.veSearch
InverseSearchProspec.veSearch
ProviderConsumer
Asynchron
ous
Synchron
ous
RolesandTimeinInforma&onAccess
19 Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010 20
Outline
ResearchDirec&ons
StateoftheArt
Poten&als
Mo&va&on
2
1
3
4
Poten&alsandChallengesofRecSysinSE
NextSteps5
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 21
ChallengesofContextAwareness
ContextModeling
Howcanwemodelabstractno.onofcontexttosupportuniquescenarios?Whatis
partofthecontext?
ContextSessioniza&on
Howcanwe“package”contextevents?Howcanacontextswitchbedetected?
EfficientInstrumenta&on
Howcanheterogeneoustoolsbeefficientlyinstrumented?
ContextRepresenta&on
Canweefficientlyrepresentdataandknowledgeandenablereasoningandseman.cinterpreta.on?
Majorresearch
challengeson
context‐
awareness Aggrega&onandProcessing
Howcanweaggregatecontextfordifferentlevelsofgranularity?Canwemeasure
andcomparesubjec.vecontextlikeexperience?
PrivacyProtec&on
Howcanweprotectusers’privacywhilecollec.ng
sensi.veinforma.on?Whatareacceptabletrade‐offs?
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 22
TeamWeaverOpenSourcePlamorm
• Aframeworkandasetofrecommenda.ontoolsforso5wareengineering• Createdfrompastandcurrentresearchprojects
©W.Maalej,July2010
RelatedEvents
Conferences• Interna.onalConferenceonAutomatedSo5wareEngineering
• Interna.onalConferenceonSo5wareEngineering• ACMRecommenderSystems
Workshops• Int.WorkshoponRecommenda.onSystemsinSo5wareEngineering
(RSSE)
• Int.WorkshoponManagingRequirementsKnowledge(MaRK)• SocialSo5wareEngineering(SSE)
• Coopera.veandHumanAspectsinSo5wareEngineering(ChaiSE)
• Search‐BasedSo5wareEngineering(SBSE)
• WorkshoponContext,Informa.onandOntologies(@EKAW)
Poten&alsandChallengesofRecSysinSE 23
©W.Maalej,July2010
BibliographyRecSysinSo6wareEngineering• H‐J.Happel,W.Maalej,Poten.alsandChallengesofRecommenda.onSystemsforSo5ware
Development.InRSSE'08,2008.• M.P.Robillard,R.J.Walker,andT.Zimmermann.Recommenda.onsystemsforso5ware
engineering.IEEESo5ware,2010.• A.Felfernig,etal.Recommenda.onandDecisionTechnologiesForRequirementsEngineering.In
RSSE’10,2010.• W.Maalej,A.Sahm,Assis.ngEngineersinSwitchingAr.factsbyusingTaskSeman.candInterac.on
History.InRSSE’10,2010.
• W.Maalej,AKThurimella,TowardsaResearchAgendaforRecommenda.onSystemsinRequirementsEngineering.InMaRK’09,2009.
Context&Inten&ons• W.Maalej,Inten.onBasedIntegra.onofSo5wareEngineeringTools,DrHutVerlag,2010
• W.Maalej,H‐J.Happel,CanDevelopmentWorkDescribeItself?InMSR’10,IEEE2010.
• W.Maalej,Task‐FirstorContext‐First?ToolIntegra<onRevisited.InASE’09,2009.
KnowledgeSharing• WMaalej,H‐JHappel,LightweightKnowledgeSharinginDistributedSo5wareTeams.InPAKM,2008
• H‐JHappel,SocialSearchandNeed‐drivenKnowledgeSharinginWikiswithWoogle.InWikiSym,2009
Poten&alsandChallengesofRecSysinSE 24
©W.Maalej,July2010
Summary
Alargeneedandhighpoten.alsforrecommenda.onsystemstoaddresstoday’smainchallengesinso5wareengineeringprojects
1
Firstresearchresultsarepromisingbuthavelimita.onsinsupportedscenariosandcontext‐awareness
2
Recommenda.onsystemsshouldsupportbothknowledgeconsumer&providerduringdevelopment&collabora.ontasks
3
Majorresearchchallengesincludemodeling,represen.ng,sessionizing,aggrega.ngandsharingcontext
4
25 Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010
Formoreinforma&oncontact:
26
Dr.WalidMaalejTUM
www1.in.tum.de/walidmaalej
Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 27
Backups
©W.Maalej,July2010
few
few
man
y
many Documents in organizational space
Doc
umen
ts in
priv
ate
spac
e
Information
shortage
Organizational
Information gap Information
overload
Personal information gap
FourStatesofPrivateandOrganiza&onalKnowledgeSpace
Few knowledge exists both locally and globally
A user has lots of knowledge about a topic, while there is not much knowledge in the organization
While there is lots of knowledge in the organization, the user does not
have much knowledge
There is enough knowledge w.r.t. a certain topic, both locally and in the
organization
Poten&alsandChallengesofRecSysinSE 28
©W.Maalej,July2010 29
TheBigPictureofContextAwareDevelopmentEnvironments
Error Handling
Context
Short Term Context
Component Reuse
Long Term Context
Time
Scen
ario
Error message
Environments
Search keywords Discussion threads
Import of external components
Documentation used Documents changed
Developers profiles on reusing APIs
Developers profiles on handling errors
Poten&alsandChallengesofRecSysinSE
©W.Maalej,July2010 Poten&alsandChallengesofRecSysinSE 30
Whichproblemstoyouencounterwhenyoutrytoansweryourques&onsduringdevelopment?
Answer %o5enorusual
Ican’tspecifymyques.onappropriatelyinsearchtools
33,58%
Idonotknowwheretofindanswerstomyques.ons
27,88%
Answerstomyques.onsareoutdated 40,16%
Answerstomyques.onsaretoogeneral(outofcontext)
57,61%
Answerstomyques.onsarescaOeredacrossvarioussources
70,64%
Answerstomyques.onsarenotavailable 38,06%
Idon’thaverightstoaccessrequiredinforma.on
7,80%
Expertsarenotwillingtohelp 9,27%
©W.Maalej,July2010
Defini&on
"Arecommenda.onsystemforso5wareengineeringisaso5wareapplica.onthatprovidesinforma.onitemses.matedtobevaluableforaso5wareengineeringtaskinagivencontext."[Robillard,Walker,Zimmermann,2009]
Poten&alsandChallengesofRecSysinSE 31