Degree Type

Thesis

Date of Award

2016

Degree Name

Master of Science

Department

Electrical and Computer Engineering

Major

Computer Engineering

First Advisor

Samik Basu

Second Advisor

Gianfranco Ciardo

Abstract

We study the problem of detecting non - termination in multi - threaded programs due to unwanted race conditions. We claim that the cause of non-termination can be attributed to the presence of at least two loops in two different threads, where the valuations of the loop controlling parameters are inter-dependent, i.e., value of one parameter in one thread depends on the execution sequence in the other thread and vice versa. In this thesis, we propose a testing based technique to analyze finite execution sequences and infer the likelihood of non-termination scenarios. Our technique is a light weight, flexible testing based approach that can be paired with any testing technique. We claim that testing based methods are likely to be scalable to large programs as opposed to static analysis methods. We present an outline of our implementation and prove the feasibility of our approach by presenting case studies on tailored sample programs. We discuss the applicability of our approach to real world larger programs through experimental results. We conclude by discussing the limitations of our approach and future avenues of research along this line of work.

DOI

https://doi.org/10.31274/etd-180810-5451

Copyright Owner

Priyanka Thyagarajan

Language

en

File Format

application/pdf

File Size

70 pages

Share

COinS