November 20, 2008, 04:57:28 pm *
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Datalog engine  (Read 2136 times)
kdschutt
Newbie
*
Posts: 7


« on: April 10, 2007, 10:33:39 am »

I was wondering if there is any chance of the datalog engine that is inside of semmle (CodeQuest, I believe) to be made available as a separate project, or be made accessible in semmle.

I'm very much interested in using such a logic engine for use in several (research)projects, and haven't found anything which seemed as promising as CodeQuest.
Logged
Oege de Moor
Newbie
*
Posts: 30


« Reply #1 on: April 10, 2007, 10:51:29 am »

First a small correction. The Datalog engine inside SemmleCode is not CodeQuest. CodeQuest was an academic project at the University of Oxford - SemmleCode reimplements some of the published ideas in CodeQuest, but the two projects share no code. Indeed we have not yet implemented some of the published optimisations in CodeQuest, like closure fusion, in SemmleCode. They're coming up soon, though!

CodeQuest itself is no longer under development and it is not in a state suitable for release.

As for your question, we'd really like to help researchers like yourself use our technology - it will only get better that way! However, the engine is core to our business model, so giving it out for use other than for Java querying in Eclipse would seriously damage our business prospects. We're thinking about an appropriate licence for academic users, but we haven't squared the circle yet...

Do let us know if you have suggestions of how to solve this problem, for instance by pointing at licences given out by other companies.

Perhaps you can also be a bit more specific about the functionality you'd like us to expose. Do you want to query other things besides code? Do you want to write your queries in good old Datalog instead of .QL?



Logged
kdschutt
Newbie
*
Posts: 7


« Reply #2 on: April 12, 2007, 08:28:20 am »

I'm looking for a good datalog implementation as a possible replacement for the classic SQL-based databases. I have a personal dislike of SQL, mostly because I consider logic queries (prolog/datalog-like) to be more natural and vastly more expressive. So whenever I'm considering the use of a database in my projects I keep looking for something like CodeQuest.

As for projects I'm interested in, yes these do include querying code (and then mostly Cobol, as you may know; I'll make that another feature request for Semmle). But, as I said above, something like CQ comes to mind whenever I'm thinking of using a database. So to me it has appeal way beyond querying code...

I was wondering, if CodeQuest is no longer being maintained, and as Semmle shares no code with it, would you consider making it something like "abandonware", and just release it into the public domain ? This way it won't be lost, and it may start a second life. Though I do understand that this may be a risk to your business model. Perhaps if enough people are interested in a datalog engine you might even consider commercialising it, and releasing it as a secondary product of your firm. Either way, I would be a happy client. Smiley
Logged
Oege de Moor
Newbie
*
Posts: 30


« Reply #3 on: April 12, 2007, 12:18:47 pm »

You've discovered our secret weapon  Smiley

Indeed there is nothing in .QL that is specific to the application of querying code. The only thing that ties it to that particular application is the database schema (as detailed on

http://semmle.com/content/view/50/143/

), and also default.ql, but that is just a library of .QL definitions. The engine itself is completely independent of its current use: SemmleCode is intended as a challenging demonstration of the power of the .QL implementation.

We'll be branching out into some further applications shortly to demonstrate this general applicability to people less perceptive than yourself, so stay tuned.

No, I'm sorry, we really don't want to give out the old CodeQuest at this stage, but your posts are certainly a motivation to think hard about academic licensing for the engine.








Logged
kdschutt
Newbie
*
Posts: 7


« Reply #4 on: April 12, 2007, 12:40:59 pm »

Now if only I can find your Kryptonite. Wink

Please keep me posted on these future applications. You have my e-mail address, I'm sure.
Logged
Pages: [1]
  Print  
 
Jump to: