sando: an extensible local code search framework
DESCRIPTION
Demo slides for an FSE 2012 talk on Sando.TRANSCRIPT
Sando
David ShepherdKostadin DamevskiBartosz RopskiThomas Fritz
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]
Some people, when confronted with a problem, think "I know, I'll useregular expressions." Now they have two problems. -Jamie Zawinski
<Video of searching…>
Motivation: Better Search Support Needed
• Multi-word queries difficult
• Ranking non-existent
• Fails on inexact matches
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
DemoSearching with Sando
Motivation: Search Platform
Need for open source implementation(s)…
Let’s make our implementations available to other researchers!
index
C# parserdocumentcreation
splitter
Sando: Extensible Framework
Investigate your favorite sub-taskReuse our field-tested supporting code
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
DemoExpanding Queries
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
What About TraceLab?
Complementary! TraceLab focuses on lab studies, Sando on user studies.
Screen Capture 11/8/2012