Home
Education
What is Automatic Program Analysis?
In short, Automatic Program Analysis deals with the problem of deriving
information about computer program automatically in order to, e.g.,
compile to efficient code, validate the program and so forth.
More information can be found here.
Master projects
The following Master projects are available for the subject of
Automatic Program Analysis.
Look below for the requirements to be able to do a project on this subject.
Essentially all the projects so far are of the same form:
take a parser for a given programming language. (In case we do not have one
yet as a result of for instance a Bachelor or another Master project, part
of the project will be to write a parser for the programming language using
one or other parser/front end generating system such as
the parser combinators, parsec or for instance a Java version of yacc;
it all depends on your and my preferences.)
The parser generates an abstract syntax tree which is the starting point
for the next phase.
In the second phase, the objective will be to write a program that
performs one or more analyses that seem interesting. I give a few examples
that can be considered exemplary:
- type inferencing for the untyped language Scheme
- type inferencing for Python
- strictness analysis for various languages
- circularity analysis on attribute grammars
- all kinds of analyses such as strictness analysis and so on for the
Helium language developed by Arjan van IJzendoorn
and Rijk-Jan van Haaften.
- coding guidelines for C, Java and so on. This project may include
the development of an intermediate language in which coding guidelines
may be specified and which can be used to perform various coding
guidelines analyses for a given language.
- In general: analysis X programming in language Y for a language Z using
a parser system P for suitable choices of X, Y, Z and W.
Requirements for the Master projects
In order to be able to do one of the Master projects, you must have succesfully concluded
the following courses:
© Jurriaan Hage