Top Banner
Sando David Shepherd Kostadin Damevski Bartosz Ropski Thomas Fritz An Extensible Local Code Search Framework
13

Sando: An Extensible Local Code Search Framework

Dec 18, 2014

Download

Technology

davidcshepherd

Demo slides for an FSE 2012 talk on Sando.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sando: An Extensible Local Code Search Framework

Sando

David ShepherdKostadin DamevskiBartosz RopskiThomas Fritz

An Extensible Local Code Search Framework

Page 2: Sando: An Extensible Local Code Search Framework

Motivation: Search Support Needed

• 40/48 maintenance tasks begin with search

• “Finding initial focus points” as 1 of 4 categories

• 9/12 searched in first 12 steps

[ko et al. ‘06]

[shepherd et al. ‘12]

[sillito et al. ‘06]

Page 3: Sando: An Extensible Local Code Search Framework

Some people, when confronted with a problem, think "I know, I'll useregular expressions."  Now they have two problems. -Jamie Zawinski

<Video of searching…>

Page 4: Sando: An Extensible Local Code Search Framework

Motivation: Better Search Support Needed

• Multi-word queries difficult

• Ranking non-existent

• Fails on inexact matches

Page 5: Sando: An Extensible Local Code Search Framework

Our Answer: Sando Search Tool

• Handles Multi-word queries

• Ranks results

• Handles inexact matches

We leveraged state-of-the-art research to create Sando, a local code search tool for Visual Studio

Page 6: Sando: An Extensible Local Code Search Framework

DemoSearching with Sando

Page 7: Sando: An Extensible Local Code Search Framework

Motivation: Search Platform

Need for open source implementation(s)…

Let’s make our implementations available to other researchers!

index

C# parserdocumentcreation

splitter

Page 8: Sando: An Extensible Local Code Search Framework

Sando: Extensible Framework

Investigate your favorite sub-taskReuse our field-tested supporting code

Page 9: Sando: An Extensible Local Code Search Framework

Sando: Extensible Framework

Search a new language

Try a better splitter

Change query weights or search

terms

Rank search results according to any arbitrary

scheme

Investigate your favorite sub-taskReuse our field-tested supporting code

Page 10: Sando: An Extensible Local Code Search Framework

DemoExpanding Queries

Page 11: Sando: An Extensible Local Code Search Framework

Conclusion

• Sando is a free, open source code search tool

• Sando not a regex search, avoiding many pitfalls

• Iteratively refine ideas on real code, real users with Sando

Page 12: Sando: An Extensible Local Code Search Framework
Page 13: Sando: An Extensible Local Code Search Framework

What About TraceLab?

Complementary! TraceLab focuses on lab studies, Sando on user studies.

Screen Capture 11/8/2012