[Back]


Diploma and Master Theses (authored and supervised):

G. Kienesberger:
"Detecting Busy Waiting by Means of Static Control Flow Analysis";
Supervisor: J. Blieberger; 183/1, 2009.



English abstract:
Busy waiting occurs whenever a process repeatedly checks a condition until it becomes true without influencing that condition itself, thereby effectively wasting system resources and introducing the risk of system failure due to race conditions. Hence, busy waiting is considered bad programming practice and can be avoided by the use of higher communication facilities.

In the development of critical systems, for which correctness and robustness are of vital importance, software quality assurance is of great value. However, it is difficult and impractical to manually discover busy waiting in existing program code, which is why a static analysis tool is needed for that purpose.

Based on an existing algorithm that targets the detection of busy waiting using methods of static control flow analysis, I developed such software and further improved the analysis methods to increase efficiency and sharpen the results.

Since the Ada programming language is often used for critical applications I selected it as target language for my analysis and also used it for the implementation of the analysis software itself.

The main results of my work are a static analysis tool for detecting busy waiting in Ada programs and a framework providing a powerful CFG-based representation of Ada source code facilitating comprehensive static control flow analysis in general.


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_181462.pdf