Make it work with 2012! :)   -naspinski, from reddit
Well, the people have spoken, and we've (finally) delivered.  The Sando code search extension is now available in VS2012 (in addition to VS2010), thanks in large part to Kosta Damevski. As we release this version I realize that not all readers are familiar with Sando's Raison d'être. For those of you new to Sando here's the top few reasons why we've spent the last year creating it. 

  1. Regexes Searches Fail - Many programmers claim that they can write a regex to find any code they might need. This is absolutely true, but they often don't mention that most of their regex searches fail.  In Ko et al.'s 2006 study of developers performing maintenance tasks 88% of developers' regex searches failed, and these developers were searching over a program of only 500 lines of code.  In our study of programmers working on medium sized code bases we observed a similar failure rate. I'd like to challenge you. Record your search success rate for a single day; if it's under 50% consider installing Sando
  2. Information Retrieval Technology Avoids Regex's Failures - The tragedy of this high failure rate is that the types of failures that are caused by regex technology are easily avoided.  Because Sando is backed by Lucene.NET, which uses the Vector Space Model with TF-IDF scoring, it can handle common regex failure cases such as word re-ordering.  Users who would have had to search for both "open*file" and "file*open" using regex technology can now simply search for "open file".  Similarly, since Sando uses Lucene's  SnowballAnalyzer a search for "open file" will automatically return matches for different word forms, such as "opened", thus finding the relevant method "OpenedFile". While each individual shortcoming when searching with regexes seems trivial, the combination of issues creates real problems. Imagine searching for the concept of "open file".  The javascript regex ([oO]pen[ing]*(\s)*[fF]ile[s]*)*((\s)*[fF]ile[s]*[oO]pen[ing]*)* could be used to find the likely relevant strings  {openfile, fileopen, OpenFile, FileOpen, fileOpening,OpeningFiles}. Yet even more regex-fu would be needed to match the equally probable {FileOpened}.  In contrast, Sando would only require the search terms "open file".
  3. Ranked Results Reduce Human Processing Time - One of the main drivers of code search tools is that they save developers time.  In that sense, regex-based searches (e.g., grep) are a huge time-saver when compared with manual scanning.  Sando aims to build upon this time saving by not only automatically identifying matches, but by ranking those matches. In practice this time savings is significant. Consider this common scenario.  A developer searches for the string "save*failed" using a regex-based search.  This very specific search returns no results, so he creates the more general query "fail".  This query returns about one hundred unranked results, which he slowly scans, finding the relevant match in result #50.  In contrast, when using Sando, which ranks matches according to their similarity score, the most relevant result appears as result #2. 

Research-Driven Advances

Above I've quickly described a few reasons that we expect Sando to perform better than available regex-based tools and I've used a few scenarios to explain why. However, its important to know that Sando is not primarily based on my personal insights. Sando is built upon the huge body of code search research, started by Andrian Marcus's thesis work and so ably continued by researchers like Denys PoshyvanykDawn Lawrie and David BinkleyLori Pollock, Emily Hill, and many others. Thus, you can download and use Sando, assured that it's providing you with high-quality search results influenced by cutting edge advances in software engineering research.   

Sando is available as a Visual Studio extension for VS2010 and VS 2012


04/25/2013 11:01pm

The code search for VS 2012 is very useful. The step by step explanation of it makes easy to understand. Thank you for sharing the useful information. The links that you along with the post is very useful for further help. Regards.

It is nice to find a site about my interest. My first visit to your site is been a big help. Thank you for the efforts you been putting on making your site such an interesting and informative place to browse through. I'll be visiting your site again to gather some more valuable information.

I definitely enjoyed every little bit of it. I have you bookmarked to check out new stuff on this post

04/30/2013 3:19am

Nicely presented information in this post, I prefer to read this kind of stuff. The quality of content is fine and the conclusion is excellent.

Comments are closed.