Upload
walid-maalej
View
110
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Abstract Recent empirical studies show that software engineers use 5 tools and 14 artifacts on average for a single task. As development work is frequently interrupted and several simultaneous tasks are performed in parallel, engineers need to switch many times between these tools and artifacts. A lot of time gets wasted in repeatedly locating, reopening or selecting the right artifacts needed next. To address this problem we introduce Switch!, a context-aware artifact recommendation and switching tool. Switch! assists engineers in switching artifacts based on the type of the development task and the interaction history.
Citation preview
Assis$ngEngineersinSwitchingAr$facts
WalidMaalejandAlexanderSahm
TechnischeUniversitätMünchen,Germany
byusingTaskSeman$csandInterac$onHistory
RSSE’10,CapeTown,SouthAfrica,Mai2010
©W.Maalej,Mai2010
Execu$veSummary
Assis$ngEngineersinSwitchingAr$facts 2
Weproposeacontext‐awareswitchingapproachbasedontaskseman6csandinterac6onhistory
2
Currentdesktopenvironmentslackthesupportforswitchingbetweenar6factsduringengineers’work
1
©W.Maalej,Mai2010 3
Outline
PreliminaryEvalua$onandOutlook
OurContext‐AwareApproach
TheSystem:Switch!
TheSwitchingProblem
2
1
3
4
Assis$ngEngineersinSwitchingAr$facts
©W.Maalej,Mai2010
ExampleofToolsandAr$factsUsedinaBugFixingScenario(iPhoneApp)
Assis$ngEngineersinSwitchingAr$facts 4
©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 5
©W.Maalej,Mai2010
PostponedTasksLeadtoEvenMoreWindows
Assis$ngEngineersinSwitchingAr$facts 6
©W.Maalej,Mai2010
©W.Maalej,Mai2010
CurrentDesktopEnvironmentsHaveFourShortcomings
Assis$ngEngineersinSwitchingAr$facts 8
TheSwitchingProblem
Windowsofdifferenttasksaremixed
TaskirrelevantwindowscreateascreencluAer
Thecontextofprevioussessionsislost
Locatethear6factswhenresumingtasks
Switchingbetweenwindowsinsteadofar$facts
Mul6‐layerswitching:firstthewindowsthenthear6fact
Differentworkflowsforopenandclosedar$facts
Checkifthear6factisopen,ifnot:findit,openit
Moredetails:W.Maalej,Task‐FirstorContext‐First?ToolIntegra6onRevisited.InIEEE/ACMASE2009
©W.Maalej,Mai2010 9
Outline
PreliminaryEvalua$onandOutlook
OurContext‐AwareApproach
TheSystem:Switch!
TheSwitchingProblem
2
1
3
4
Assis$ngEngineersinSwitchingAr$facts
©W.Maalej,Mai2010
TheGoalistoAssistEngineersSwitchingBetweenAr$facts
Assis$ngEngineersinSwitchingAr$facts 10
Detectanduseengineer’scontext
Thesystemrecommendsar6factsneedednext
1
Engineerscaneasilyselectthear6factfromthesetof
recommenda6ons
2
Thear6factisshownnomaAerwhetheritisopenofclosed
3
©W.Maalej,Mai2010
WhatisEngineer’sContext?
Assis$ngEngineersinSwitchingAr$facts 11
TaskSeman6cs(UniversalDimension)
Interac6onHistory(PersonalDimension)
Context
©W.Maalej,Mai2010
TaskSeman$cs(UniversalDimension)
Assis$ngEngineersinSwitchingAr$facts 12
What?
Why? • Aclassifica$onofsoXware
engineeringtasks(bug
fixing,implementa6on,specifica6on,modeling,
collabora6on…)
• Asharedcommon
understandingofeachtask
type(ontology)
• Tomodeltooltypesand
ar$facttypesandassociate
themtotasktypes
• Example:Ates6ngtooland
testdocumentsarerather
usedduringtes6ngtasks
thanduringmodelingtasks
©W.Maalej,Mai2010
Interac$onHistory(PersonalDimension)
Assis$ngEngineersinSwitchingAr$facts 13
What?
Why?
• Tomodelthepersonal
switchinghabitsandneed
ofengineers
• Example:Anengineer
maintainsaTo‐dolistintext
documentinsteadintask
managementsystem
• Theengineer’sinterac6oninherworkplace(desktop
environment)
• Individualworkhabits• Preferredtools• Preferredar6facts
©W.Maalej,Mai2010 14
Outline
PreliminaryEvalua$onandOutlook
OurContext‐AwareApproach
TheSystem:Switch!
TheSwitchingProblem
2
1
3
4
Assis$ngEngineersinSwitchingAr$facts
©W.Maalej,Mai2010
OverallArchitecture
Assis$ngEngineersinSwitchingAr$facts 15
Switch!
©W.Maalej,Mai2010
OverallRecommenda$onProcess
Assis$ngEngineersinSwitchingAr$facts 16
Calculatetherelevanceofeachar$facttoswitchto
Findsuitable ar$facttypesbasedontaskseman$cs
1 2
©W.Maalej,Mai2010
Recommenda$onHeuris$cs
Assis$ngEngineersinSwitchingAr$facts 17
Dura$on
Frequency
SwitchedTo
Relevance
The6meinsecondstheusageofanar6factbytheengineer
The usage frequency of an artifact by the engineer
Thenumberofswitchesbetweentwoar6facts
Therelevanceofthear6factforthisswitch
©W.Maalej,Mai2010
UIPrinciple1:GroupToolsbyPurposes
Assis$ngEngineersinSwitchingAr$facts 18
©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 19
UIPrinciple2:RankAr$factsinEachToolGroup
©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 20
UIPrinciple3:Ar$factsClickablebyMouseandKeyboard
©W.Maalej,Mai2010 21
Outline
PreliminaryEvalua$onandOutlook
OurContext‐AwareApproach
TheSystem:Switch!
TheSwitchingProblem
2
1
3
4
FromWorkToWord
©W.Maalej,Mai2010
PreliminaryEvalua$on
Assis$ngEngineersinSwitchingAr$facts 22
Internalevalua$onofSwitch!prototype
Paperprototypeexperiment
• Internaluseforcurrentlysupportedtasktypes(workinprogress)
• Switch!Supportsbugfixing,tes6nganddocumen6ng
• Currentversionhandlessourcecode,PDFs,emails,textdocuments,andwebpages
• Paperprototypeexperiment
• CreatedfromprintedSwitch!userinterface
• Conductedwith7experiencedsoXwareengineers(fromEquinux&MacInTUM)
©W.Maalej,Mai2010
PaperPrototype‐Example
Assis$ngEngineersinSwitchingAr$facts 23
©W.Maalej,Mai2010
PaperPrototype‐Findings
Assis$ngEngineersinSwitchingAr$facts 24
Subjectsconfirmedtheswitchingproblemandappreciatedourcontext‐awareapproach(5of7subjectswoulduseSwitch!)
1
Subjectsneededtogetusedtotheuserinterfaceconcepts(avg.<5min.)
2
Subjectswantedtounderstandrecommenda6onra$onale
3
Mostsubjectshadprivacyconcernsduetothesystemwidecontextobserva6on
4
©W.Maalej,Mai2010
ConclusionandFutureWork
Assis$ngEngineersinSwitchingAr$facts 25
Developersencounterfrequentproblemswhile
switchingbetweenar6facts
Ourcontext‐awareapproachseemstobeappropriatefor
addressingswitchingproblems
ExtendSwitch!toothertasktypesand
evaluateitinindustrialseangs
Improverecommenda6onsbydetec6ngthetaskchange
Makeprivacyandusabilityafistorderconcernincontext‐
awarerecommenda6on
1 2
3 4 5
©W.Maalej,Mai2010 Assis$ngEngineersinSwitchingAr$facts 26
Feedback,Ques$ons,Sugges$onsandCollabora$onareWelcomed!
AlexanderSahmTUM
WalidMaalejTUM
hAp://TeamWeaver.org