views:

57

answers:

3

Hi,

We are using a Tool in our project. This tool has its own language which is similar to Java. I am looking for a static analysis tool which can be applied to the new language. Are there any static analysis tools which can be customized to any languages? or Is there any document or any reference on how to develop the static analysis tool for our own languages?

Thanks.

+1  A: 

Depending on what you really want, Rascal may help:

Rascal is a domain specific language for source code analysis and manipulation a.k.a. meta-programming.

Pascal Cuoq
+1  A: 

The DMS Software Reengineering Toolkit is an infrastructure for building program analysis tools, both static and dynamic. DMS also has a large number of front end for widely uses languages and their dialects (C, C++, Java, C#, COBOL, Fortran, ...)

If your langauge is a lot like Java, you'd likely be able to easily build a dialect of the existing Java front end that covered your language. From that point you could build a static analysis tool of your choice.

Static analysis is a pretty broad topic. In general, to do it you need to know how information flows in your program: control flow, data flow, pointer anlaysis, call graphs, etc. DMS provides infrastructure for implementing all that; again, you may be able to modify the implementation for Java.

Ira Baxter
A: 

Thanks for the reply Pascal. Basically we are using a new tool based language. This is similar to Java only. In runtime this new language will be converted into java Only. So we we are looking for a Static analysis tool which can customized to New Languages.

Ira Thanks alot for information. I will check this DMS Tool.

Sam