Download - Making CHASE Mainstream
![Page 1: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/1.jpg)
Making CHASE Mainstream
Robert DeLineMicrosoft Research
CHASE Workshop, ICSE 2009
![Page 2: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/2.jpg)
What is CHASE?
CHASE studies software development…as though software were created by people…working together.
CHASE studies those aspects of software development about which people cannot be usefully abstracted away.
![Page 3: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/3.jpg)
People and their Roles
customers
pm
test
dev
spec
user needs • design rationale
![Page 4: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/4.jpg)
pm
test
dev
spec
user needs • design rationale
![Page 5: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/5.jpg)
pm
test
dev
spec
user needs • design rationale • program understanding • visualizationinformation seeking • knowledge sharing • interruption + multitasking
• bug assignment• onboarding
![Page 6: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/6.jpg)
pm
test
dev
spec
user needs • design rationale • program understanding • visualizationinformation seeking • knowledge sharing
• bug assignment• interruption + multitasking • onboarding
![Page 7: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/7.jpg)
user needs • design rationale • program understanding • visualizationinformation seeking • knowledge sharing
• bug assignment
• awarenesscoordination • distributed work• social networking • expert finding• interruption + multitasking • onboarding
operations
bug repro + diagnostics • workflow + productivity
![Page 8: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/8.jpg)
Enabling conditions for “mainstream”
• Need big open problems• Need adoption paths for practitioners• Research methods need to scale out to many
researchers• Need to build bridges to established SE
research areas
Java, Eclipse, Bugzilla, CVS, Mylyn
![Page 9: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/9.jpg)
Studying development teams
The direct approach• surveys• interviews• observations
BoundariesOverfishing
“Archaeology”• data mining• modeling
BoundariesPrecisionAccuracy?
Research repositories• archive raw data• reuse across studies
BoundariesData fitness
![Page 10: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/10.jpg)
Example: Ko et al ICSE 07 transcripts
![Page 11: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/11.jpg)
Example: Ko et al ICSE 07 transcripts
![Page 12: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/12.jpg)
Example: Ko et al ICSE 07 transcripts
![Page 13: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/13.jpg)
Example: Ko et al ICSE 07 transcripts
What code caused this program state? 61% unsatisfied, max 21 min
Why was the code implemented this way? 44%, 21 min
In what situations does this failure occur? 41%, 49 min
What code could have caused this behavior? 36%, 17 min
How have the resources I depend on changed? 24%, 9 min
What is the program supposed to do? 15%, 21 min
What have my coworkers been doing? 14%, 11 min
![Page 14: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/14.jpg)
An execution “route finder”
Intended usage scenario• Select starting and ending lines of code• Step through the execution, like in a debugger• “Drag the route” to change the execution path
Code Canvas is the front end• Has layers for displaying trace and program state• Zooms from system architecture down to code
Pex is the back end• Systematically explores execution traces• Uses symbolic reasoning to find new paths• Uses dynamic analysis to avoid decidability limits• Can repro a complete execution trace
![Page 15: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/15.jpg)
Enabling conditions for “mainstream”
• Need big open problems• Need adoption paths for practitioners• Research methods need to scale out to many
researchers• Need to build bridges to established SE
research areasWHAT ELSE?
![Page 16: Making CHASE Mainstream](https://reader035.vdocuments.net/reader035/viewer/2022062221/56813521550346895d9c8384/html5/thumbnails/16.jpg)
Software Engineering ResearchGOALS
IMPROVE QUALITYFind defects in designsFind defects in codePromote architectures/designsImprove performanceAllocate test resourcesIsolate defectsEliminate sources of defects
IMPROVE FUNCTIONALITYFind defects in specsImprove reqts gatheringImprove bug tracking
IMPROVE TIME TO MARKETReuse componentsReuse design patternsImprove cost estimationImprove productivityImprove code understandingSpread team knowledgeImprove coordination
METHODS
prog. lang. designtype systemstheorem provingspec. notationsmodeling notationsstatic analysisdynamic analysiscode optimizationruntime optimizationdata miningstatistical modelsprocess improvementdesign/arch. notationsarchitectural designsystem designdev. tool designdev. environment designpattern languagesvisualizationtheory building
EVALUATIONS
formal theoremscase studies on specs/codebenchmarksdemonstrations/prototypescase studies on team artifactscase studies on teamscontrolled experiments