"Drill down into your Code - Software Quality via Code Queries in SemmleCode"
  • Video is free for view
View_video

Google Tech Talks
November, 5 2007

ABSTRACT

Need a precision drill to unearth forgotten parts of your code base? Like to enforce coding conventions for clients of your API? Want to monitor code quality with metrics? Wish to implement a quality gate before check-ins that stops common bug patterns?

SemmleCode is a new, 100% free Eclipse plugin that encapsulates all these tasks as simple "code queries". It stores your project in relational form, and you can explore those relations to answer questions about your code.

SemmleCode ships with a large library of queries for common tasks, which you can use out of the box. Results can be visualised in many ways, including charts and graphs, all with links to the source. This talk starts by showing you that out-of-the-box functionality, and how it helps to improve quality with no effort at all.

The next level of using SemmleCode is to modify existing queries to implement new checks of your own. It is very easy to do that, since SemmleCode uses an intuitive object-oriented query language called .QL. .QL is tightly integrated in Eclipse, with full content-assist, syntax highlighting, and so on. In the talk, that functionality is illustrated by tailoring some queries to well-known open source projects.

The third and ultimate level of using SemmleCode is to write new query libraries of your own. These typical...



 

Tags: Techtalks, Conferences, Google, Companies, Debugging, Development, Lectures, Broadcasting

Level: advanced Date: November 17, 2007 Votes: 0 User: scoundrel  Comments:
 
 

2 Response(s) to this entry

Subscribe to comments with RSS.

 
 
oege  (2009-04-07)

A new, Professional Edition of SemmleCode is now available at http://semmle.com. Compared to the prototype shown in this talk, it has a vastly improved user interface, and many more carefully tuned analyses. Furthermore analysis results can be viewed in many ways, including heat maps that make it easy to spot problematic areas in the code.