30
Inten%on‐Based Integra%on of So1ware Engineering Tools Walid Maalej

Intention-Based Integration of Software Engineering Tools

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Intention-Based Integration of Software Engineering Tools

Inten%on‐BasedIntegra%onof

So1wareEngineeringTools

WalidMaalej

Page 2: Intention-Based Integration of Software Engineering Tools

©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

Page 3: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010 3

OutlineoftheTalk

Evalua%onandOutlook

AnalysisofToolIntegra%on

Inten%on‐BasedIntegra%onFramework

Mo%va%on

2

1

3

4

Inten%on‐BasedToolIntegra%on

Page 4: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

DevelopersUse5ToolsonAveragetoWorkonaSingleTask

Inten%on‐BasedToolIntegra%on 4

Relatedinforma4onisscaDeredacrossdifferenttools

Ref:[Maalej,ASE2009]

Page 5: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

ABugFixingScenario

5Inten%on‐BasedToolIntegra%on

Bugreportintheissuetracker

Sourcecodeinthedebugger

APIdocumenta%oninthewebbrowser

Clarifica%onsintheemailclient

Page 6: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

AReleasePlanningScenario

6 Inten%on‐BasedToolIntegra%on

Priori%esinaRequirementstool

Scheduleinamanagementtool

ChatwithclientinSkype

Dependenciesinamodelingtool

Page 7: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010 7

Outline

Evalua%onandOutlook

AnalysisofToolIntegra%on

Inten%on‐BasedIntegra%onFramework

Mo%va%on

2

1

3

4

Inten%on‐BasedToolIntegra%on

Page 8: Intention-Based Integration of Software Engineering Tools

©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

Page 9: Intention-Based Integration of Software Engineering Tools

©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

Page 10: Intention-Based Integration of Software Engineering Tools

©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

Page 11: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

HowwouldyouLogicallyGroupChangesPerformedinDifferentTools?

Inten%on‐BasedToolIntegra%on 11

Others6% Byprojectphases

5%Bycomponents

13%

Byrequirements22%

Bytasks31%

Bychangecontext23%

Themorechangesandinterrup4onsareencountered,themoreoaentasksandcontextarepreferredtoorganizeinforma4on

Ref:[Maalej,ASE2009]

Page 12: Intention-Based Integration of Software Engineering Tools

©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)

Page 13: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010 13

Outline

Evalua%onandOutlook

AnalysisofToolIntegra%on

Inten%on‐BasedIntegra%onFramework

Mo%va%on

2

1

3

4

Inten%on‐BasedToolIntegra%on

Page 14: Intention-Based Integration of Software Engineering Tools

©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

Page 15: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

Meta‐ModelofInten%on‐BasedIntegra%on

Inten%on‐BasedToolIntegra%on 15

SEWork

Page 16: Intention-Based Integration of Software Engineering Tools

©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

Page 17: Intention-Based Integration of Software Engineering Tools

©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

Page 18: Intention-Based Integration of Software Engineering Tools

©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

Page 19: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

SharedSeman%cstoAnnotateContext:Developers’Interac%ons

Inten%on‐BasedToolIntegra%on 19

Page 20: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

SharedSeman%cstoAnnotateContextDevelopers’Ar%facts

Inten%on‐BasedToolIntegra%on 20

Page 21: Intention-Based Integration of Software Engineering Tools

©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

Page 22: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

InTIModelforContextElicita%on

Inten%on‐BasedToolIntegra%on 22

Page 23: Intention-Based Integration of Software Engineering Tools

©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]

Page 24: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010 24

Outline

Evalua%onandOutlook

AnalysisofToolIntegra%on

Inten%on‐BasedIntegra%on

Mo%va%on

2

1

3

4

Inten%on‐BasedToolIntegra%on

Page 25: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

TracingRelatedAr%factsfromInten%onDetails(inMacIntent)

Inten%on‐BasedToolIntegra%on 25

Page 26: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

Seman%cSearchforDistributedInforma%on(inWinIntent)

Inten%on‐BasedToolIntegra%on 26

Page 27: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

EmpiricalEvalua%onofInTi

Inten%on‐BasedToolIntegra%on 27

Acontrolledexperimentwith15

developers

2Industrialcasestudieswith

BertelsmannandEquinux(3months

each)

Measureandcompare%me

withandwithoutusingInTi

Page 28: Intention-Based Integration of Software Engineering Tools

©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%

Page 29: Intention-Based Integration of Software Engineering Tools

©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

Page 30: Intention-Based Integration of Software Engineering Tools

©W.Maalej,July2010

Formoreinforma%oncontact:

30

WalidMaalejTUM

[email protected]

www1.in.tum.de/walidmaalej

Inten%on‐BasedToolIntegra%on