sando: an extensible local code search framework
DESCRIPTION
Demo slides for an FSE 2012 talk on Sando.TRANSCRIPT
![Page 1: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/1.jpg)
Sando
David ShepherdKostadin DamevskiBartosz RopskiThomas Fritz
An Extensible Local Code Search Framework
![Page 2: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/2.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/6.jpg)
DemoSearching with Sando
![Page 7: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/8.jpg)
Sando: Extensible Framework
Investigate your favorite sub-taskReuse our field-tested supporting code
![Page 9: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/10.jpg)
DemoExpanding Queries
![Page 11: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/12.jpg)
![Page 13: Sando: An Extensible Local Code Search Framework](https://reader035.vdocument.in/reader035/viewer/2022081518/5495d832ac7959222e8b4f54/html5/thumbnails/13.jpg)
What About TraceLab?
Complementary! TraceLab focuses on lab studies, Sando on user studies.
Screen Capture 11/8/2012