Upload
walid-maalej
View
122
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Inten%on‐BasedIntegra%onof
So1wareEngineeringTools
WalidMaalej
©W.Maalej,July2010
Summary
Inten%on‐BasedToolIntegra%on 2
Wefoundempiricalevidencethatpoortoolintegra4onisa
barrierfordevelopers’produc4vity
1
Weusedevelopers’inten4onsduringworktogroupchanges
thatareperformedindifferenttools
2
Ourinten4on‐basedintegra4onframework(InTi)automa4cally
associateschangestotheircontext
3
InTiincreasesdevelopers’produc4vitybysaving4meneededto
retrieveinforma4onandswitchcontext
4
©W.Maalej,July2010 3
OutlineoftheTalk
Evalua%onandOutlook
AnalysisofToolIntegra%on
Inten%on‐BasedIntegra%onFramework
Mo%va%on
2
1
3
4
Inten%on‐BasedToolIntegra%on
©W.Maalej,July2010
DevelopersUse5ToolsonAveragetoWorkonaSingleTask
Inten%on‐BasedToolIntegra%on 4
Relatedinforma4onisscaDeredacrossdifferenttools
Ref:[Maalej,ASE2009]
©W.Maalej,July2010
ABugFixingScenario
5Inten%on‐BasedToolIntegra%on
Bugreportintheissuetracker
Sourcecodeinthedebugger
APIdocumenta%oninthewebbrowser
Clarifica%onsintheemailclient
©W.Maalej,July2010
AReleasePlanningScenario
6 Inten%on‐BasedToolIntegra%on
Priori%esinaRequirementstool
Scheduleinamanagementtool
ChatwithclientinSkype
Dependenciesinamodelingtool
©W.Maalej,July2010 7
Outline
Evalua%onandOutlook
AnalysisofToolIntegra%on
Inten%on‐BasedIntegra%onFramework
Mo%va%on
2
1
3
4
Inten%on‐BasedToolIntegra%on
©W.Maalej,July2010
EmpiricalStudy:800Developers,2.5Years
Inten%on‐BasedToolIntegra%on 8
Phase2Explanatory,Quan%ta%ve
Phase1Exploratory,Qualita%ve
1
Onlinesurvey
toquan%fy
thestate‐of‐
prac4ce
4
Field
experimentsto
compare
suitabilityof
different
integra4on
solu4ons
3
2
Face‐to‐faceinterviewstodetermine
integra4onproblemsandneeds
Analysisofprojectar4factsto
iden4fycurrentprac%ces
©W.Maalej,July2010
RequirementsforToolIntegra%on
Inten%on‐BasedToolIntegra%on 9
• Homogeneousone‐toolsolu4onsare
unapplicableinprac4ce
• Integra4onaDemptsrestrictedtospecifictoolshavefailed
1.SupportforTools’Heterogeneity
• Nomanualexplicitsynchroniza4ontasks
(e.g.import/export)
• Relatedar4factsshouldbelinkedautoma4cally
3.Automa%cLinking
• Ar4factsareconstantlychanging• Workflowisconstantlyinterrupted
2.SupportforChange
©W.Maalej,July2010
ProblemsEncounteredDuetoPoorToolIntegra%on
Inten%on‐BasedToolIntegra%on 10
Associatechanges
tocause
Manualandunidirec4onal
associa4onintext
comments
Retrieveandunderstanda
previouschange
Restorepastchanges
accordingtological
criteria
Reproducecontext
ofapreviouschange
ContextisscaDered
acrossdifferenttools,when
con4nuingpostponedwork
Sharecontextin
communica%onthreads
Communica4onthreadsarenot
linkedtothecontext(e.g.
discussedcomponent)
Changesshouldbe
groupedtogether
andlinkedtotheir
context
©W.Maalej,July2010
HowwouldyouLogicallyGroupChangesPerformedinDifferentTools?
Inten%on‐BasedToolIntegra%on 11
Others6% Byprojectphases
5%Bycomponents
13%
Byrequirements22%
Bytasks31%
Bychangecontext23%
Themorechangesandinterrup4onsareencountered,themoreoaentasksandcontextarepreferredtoorganizeinforma4on
Ref:[Maalej,ASE2009]
©W.Maalej,July2010
HalfofSo1wareEngineeringWorkisnotDefinedinTasks
Inten%on‐BasedToolIntegra%on 12
5%
25%
48%
18%
5%
0%
10%
20%
30%
40%
50%
60%
0‐10% 10‐30% 30‐60% 60‐90% >90%
%ofR
espo
ndan
ts
%ofDefinedWork
Howmuchofyourwork,isexplicitly(pre‐)definedinyourtasklist?
Needforautomatedsolu4on(i.e.iden4fyanddescribeundefinedtasks)
©W.Maalej,July2010 13
Outline
Evalua%onandOutlook
AnalysisofToolIntegra%on
Inten%on‐BasedIntegra%onFramework
Mo%va%on
2
1
3
4
Inten%on‐BasedToolIntegra%on
©W.Maalej,July2010
OpenTaskT
ScrollTaskList
Search ..
?
?
Developer’sWork:FromInterac%onstoInten%ons
Inten%on‐BasedToolIntegra%on 14
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
Seman4cinterac4on
Interac4onwithtools
©W.Maalej,July2010
Meta‐ModelofInten%on‐BasedIntegra%on
Inten%on‐BasedToolIntegra%on 15
SEWork
©W.Maalej,July2010
Func%onalRequirementsoftheInTiFramework
Inten%on‐BasedToolIntegra%on 16
InTI
RequirementsOrganize
Informa%on
• Automa4callylinkar4facts
• Annotatear4factswithmetadata
• Querydistributedinforma4on
• Navigaterelatedar4facts
• Sessionizework• Resumecontext
• Describeinten4ons
RetrieveInforma%on
ManageInten%ons
©W.Maalej,July2010
Realiza%onoftheInTiFramework
Inten%on‐BasedToolIntegra%on 17
Seman%cWebTechnologies
• UnifiedResourceIden4fier• Ontologies
• Metadatamanagement
• Typesofar4facts,rela4onships…
• Advancedquerying
ContextAwareness
• Contextelicita4on• Contextaggrega4on
• WorkSessioniza%on
• Recogni4onofrelatedpiecesofinforma4on
• Inten%onDescrip%on
Func4onality Enabler
©W.Maalej,July2010
InTiOntologiesDefinetheSeman%csofSo1wareEngineeringWork
Inten%on‐BasedToolIntegra%on 18
Interac4on Ar4fact
Tool
concerns
hastypehastype
Model
Class
Request
Otherar4facttypes Email
Read
Test
Change
Debug
Otherinterac4onandac4vitytypes
Use
Ref:[Maalej,MSR’10]
Specify Method
©W.Maalej,July2010
SharedSeman%cstoAnnotateContext:Developers’Interac%ons
Inten%on‐BasedToolIntegra%on 19
©W.Maalej,July2010
SharedSeman%cstoAnnotateContextDevelopers’Ar%facts
Inten%on‐BasedToolIntegra%on 20
©W.Maalej,July2010
TypeInferenceforInterac%ons&Ar%facts
Inten%on‐BasedToolIntegra%on 21
SayHello
Method
concerns
rdf:type
CreateMethod
rdf:type
event
Class
HelloWordmemberof
rdf:type
HelloWord
BugReport
concerns
rdf:type
BrowseWeb
rdf:type
event
Reportbug
rdf:type
©W.Maalej,July2010
InTIModelforContextElicita%on
Inten%on‐BasedToolIntegra%on 22
©W.Maalej,July2010
Aggrega%onandFilteringofContext(SimplifiedFormula)
Inten%on‐BasedToolIntegra%on 23
Dura%onFrequency
Age
Relevance
Theoldertheinterac4onwiththear4fact,thelessrelevantthe
ar4factbecomes
Themorefrequenttheinterac4onwithanar4fact,
themorerelevantitis
Thelongerthear4factisused,themore
relevantitis
Relevanceofcontextforapar4cular
inten4on
Ref:[Maalej,RSSE2010]
©W.Maalej,July2010 24
Outline
Evalua%onandOutlook
AnalysisofToolIntegra%on
Inten%on‐BasedIntegra%on
Mo%va%on
2
1
3
4
Inten%on‐BasedToolIntegra%on
©W.Maalej,July2010
TracingRelatedAr%factsfromInten%onDetails(inMacIntent)
Inten%on‐BasedToolIntegra%on 25
©W.Maalej,July2010
Seman%cSearchforDistributedInforma%on(inWinIntent)
Inten%on‐BasedToolIntegra%on 26
©W.Maalej,July2010
EmpiricalEvalua%onofInTi
Inten%on‐BasedToolIntegra%on 27
Acontrolledexperimentwith15
developers
2Industrialcasestudieswith
BertelsmannandEquinux(3months
each)
Measureandcompare%me
withandwithoutusingInTi
©W.Maalej,July2010
Conclusion:InTIIncreasesProduc%vity
Inten%on‐BasedToolIntegra%on 28
Associatechangestocause
89%of4mesaved
Retrieveandunderstandpreviouschanges
72%of4mesaved
Reproducecontextofpreviouschanges
75%of4mesaved
Sharecontextincommunica%onthreads
47%of4mesaved
Adevelopersaves6.3
hoursina40h.week
aproduc%vity
growthof18%
©W.Maalej,July2010
Summary:Problems&ProposedSolu%ons
Inten%on‐BasedToolIntegra%on 29
Frequentchangesandworkflow
interrup4ons
Inten4onManagement
MetadataManagement&IntegratedSearch
Inefficientseekingofdistributedinforma4on
Heterogeneityoftoolsandinforma4on
Manualinforma4onassocia4on
ContextAwareness
Seman4cWebTechnologies
InTiincreasesproduc%vitybysaving%metoretrieveinforma%onandswitchcontext
©W.Maalej,July2010
Formoreinforma%oncontact:
30
WalidMaalejTUM
www1.in.tum.de/walidmaalej
Inten%on‐BasedToolIntegra%on