Skip to main content

Extension of the interval program analysis for unknown library functions

Supervisor

Suitable for

Mathematics and Computer Science, Part C
Computer Science, Part C

Abstract

The interval program analysis is a well-known algorithm for estimating the behaviour of programs without actually running them. The algorithm takes an imperative program, and returns, at each program point, interval constraints for variables in the program, such as 1 <= x <= 3 && 2 <= y. This algorithm assumes that all the functions called by the input program are defined in the program, so that the source code of every called function can be found in the program. However, in practice, this assumption is not necessarily met. Programs often use library functions whose source code is not available. The goal of this project is to lift this assumption. During the project, a student will develop an interval-analysis algorithm that works in the presence of calls to unknown library functions, implement the algorithm, and evaluate the algorithm experimentally.

Prerequisites:

A prerequisite of this project is the Compiler course.

Undergraduate students who wish to enquire about a project for 2017-18 are welcome to contact Prof Yang but should note that the response may be delayed as he is on sabbatical.