Prediction of Deadlocks in Concurrent Programs Using Neural Network
محورهای موضوعی : Data MiningElmira Hasanzad 1 , سیدمحمدرضا بابامیر 2
1 - Kashan
2 -
کلید واژه: Detecting Potential Deadlocks, Time Series Prediction, Multithread Programs, Behavior Extraction,
چکیده مقاله :
The dependability of concurrent programs is usually limited by concurrency errors like deadlocks and data races in allocation of resources. Deadlocks are difficult to find during the program testing because they happen under very specific thread or process scheduling and environmental conditions. In this study, we extended our previous approach for online potential deadlock detection in resources allocated by multithread programs. Our approach is based on reasoning about deadlock possibility using the prediction of future behavior of threads. Due to the nondeterministic nature, future behavior of multithread programs, in most of cases, cannot be easily specified. Before the prediction, the behavior of threads should be translated into a predictable format. Time series is our choice to this conversion because many Statistical and Artificial Intelligence techniques can be developed to predict the future members of the time series. Among all the prediction techniques, artificial neural networks showed applicable performance and flexibility in predicting complex behavioral patterns which are the most usual cases in real world applications. Our model focuses on the multithread programs which use locks to allocate resources. The proposed model was used to deadlock prediction in resources allocated by multithread Java programs and the results were evaluated.
The dependability of concurrent programs is usually limited by concurrency errors like deadlocks and data races in allocation of resources. Deadlocks are difficult to find during the program testing because they happen under very specific thread or process scheduling and environmental conditions. In this study, we extended our previous approach for online potential deadlock detection in resources allocated by multithread programs. Our approach is based on reasoning about deadlock possibility using the prediction of future behavior of threads. Due to the nondeterministic nature, future behavior of multithread programs, in most of cases, cannot be easily specified. Before the prediction, the behavior of threads should be translated into a predictable format. Time series is our choice to this conversion because many Statistical and Artificial Intelligence techniques can be developed to predict the future members of the time series. Among all the prediction techniques, artificial neural networks showed applicable performance and flexibility in predicting complex behavioral patterns which are the most usual cases in real world applications. Our model focuses on the multithread programs which use locks to allocate resources. The proposed model was used to deadlock prediction in resources allocated by multithread Java programs and the results were evaluated.