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

Sando: An Extensible Local Code Search Framework

Embed Size (px)

DESCRIPTION

Demo slides for an FSE 2012 talk on Sando.

Citation preview

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