<<< Previous speaker Next speaker >>>

Oege de Moor, Semmle

 Oege  de Moor

Oege de Moor is the CEO and co-founder of Semmle Ltd., a company in Oxford (UK), which develops novel query technologies. With Mathieu Verbaere and Elnar Hajiyev, he created .QL, the object-oriented query language presented here.

Oege has 25 years of software development experience. He has been involved with several ground-breaking projects in industry; in particular he worked with Charles Simonyi at Microsoft on "Intentional Programming". At present he is the leader of the abc project - a cutting-edge optimizing compiler for AspectJ. Oege is a frequent keynote speaker at international computer science conferences, and he has authored over 50 publications on topics ranging from image synthesis systems to novel programming language technologies. He holds a professorship at the University of Oxford (UK), where he leads the Programming Tools Group.

Presentation: "Drill down into your Code - Software Quality via Code Queries in SemmleCode"

Time: Friday 11:00 - 12:00

Location: Cornell

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 typically come with complex application frameworks, to check coding conventions directly on the code (instead of just writing them down in the docs). Again, we demonstrate this by showing some popular examples.

SemmleCode provides a first glimpse of the future of IDEs. Imagine storing everything related to a project (code, version history, bug reports, web pages, emails, ...) in a relational repository. With .QL, opening up that mass of data will be easy, giving unrivalled insight in the structure of a project, and new possibilities for increasing developer productivity.

Password protected Download slides