Thesis Topic Details

Topic ID:
2922
Title:
Static Analysis for Detecting Data Races in Concurrent Java Programs
Supervisor:
Jingling Xue
Research Area:
Programming Languages
Associated Staff
Assessor:
Yulei Sui
Topic Details
Status:
Active
Type:
R & D
Programs:
CS CE SE
Group Suitable:
Yes
Industrial:
No
Pre-requisites:
Good understanding of Java and excellent programming skills
Description:
With the advent of multicore processors, all performance-related programming in the multicore era will require concurrent programming. So the future of programming will be concurrent programming.


Java supports concurrent programming with multiple threads directly by means of built-in language features. However, concurrent programming using locks and threads is hard; concurrent systems hang, fall prey to data races and deadlocks, and fail to deliver the performance improvements expected of multicore processors.


A number of academic and commercial static analysis tools are available for finding bugs in concurrent Java programs, such as
Jlint (data-flow analysis), JPF (symbolic model checking), Jlint (abstract interpretation) and ESC/Java (logic-based verification). However, industry-strength practically-usable tools are few and far between. In general, the main obstacles in static analysis are long analysis times and excessive false-positive results. The situation is worse for multi-threaded programs due to arbitrary thread interleavings.


In this project, you will have an opportunity to evaluate a number of open-source static analysis tools for detecting concurrency bugs in Java. By analysing their strengths and limitations, you will have an opportunity to experiment with your own ideas with potentially improved scalability and precision.


This project will also develop your knowledge and skills in concurrent programming to prepare you to successfully transition to the future software industry.

Comments:
Readings:


http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=332
http://www.gotw.ca/publications/concurrency-ddj.htm
http://delivery.acm.org/10.1145/1140000/1134018/p308-naik.pdf?
http://javapathfinder.sourceforge.net/
http://artho.com/jlint/


This also be a challenging but rewarding PhD topic.

Past Student Reports
 
No Reports Available. Contact the supervisor for more information.

Check out all available reports in the CSE Thesis Report Library.

NOTE: only current CSE students can login to view and select reports to download.