Yet, Another Method for Detecting API Deadlock

Suvarin Ploysri, Wanchai Rivepiboon

2013

Abstract

Currently, developing a multithreading Application Programming Interface (API) for special use is extensive. Defects that are the most concern are deadlocks since the deadlock causes the application developed on top of the API stops working. The deadlock detection algorithm has been developed widely. We present another deadlock detection algorithm using the concept of static analysis. The algorithm detects potential deadlocks in the source code of the multithreading API. Finally, it reports deadlock sites. The result assists the developer to be aware of code synchronization that potentially encounters deadlocks. Moreover, it is related information to find the root cause of the deadlock in the future.

References

  1. Amy Williams, W. T., and Michael D. Ernst. (2005, 25- 29th July). Static Deadlock Detection for Java Libraries. Paper presented at the ECOOP2005, Glasgow UK.
  2. Ashcraft, D. E. a. K. (2003). RacerX: Effective, Static Detection of Race Conditions and Deadlocks. Paper presented at the SOSP 7803.
  3. Frank Otto, T. M. (2008). Finding Synchronization Defects in Java Programs Extended Static Analyses and Code Patterns. Paper presented at the IWMSE'08, Leipzig, Germany.
  4. Gianpiero Francesca, A. S., Gigliola Vaglini and Maria Luisa Villani. (2011, 18-22 July). Ant Colony Optimization for Deadlock Detection in Concurrent Systems. Paper presented at the 2011 35th IEEE Annual Computer Software and Applications Conference, Washington, DC, USA.
  5. Holt, R. C. (1972). Some Deadlock Properties of Computer Systems. Computing Surveys, 4(3), 18.
  6. Jyotirmoy Deshmukh, E. A. E. a. S. S. (2009). Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients. Paper presented at the 2009 IEEE/ACM International Conference on Automated Software Engineering, Washington, DC, USA.
  7. Mayur Naik, C.-S. P., Koushik Sen and David Gay. (2009). Effective Static Deadlock Detection. Paper presented at the ICSE'09, Vancouver, Canada.
  8. Mikhail Moiseev, A. Z., Ilya Klotchkov and Sergey Salishev. (2011). Static analysis method for deadlock detection in SystemC designs. Paper presented at the SoC 2011, Tampere, Finland.
  9. Pallavi Joshi, C.-S. P., Koushik Sen and Mayur Naik. (2009). A Randomized Dynamic Program Analysis Technique for Detecting Real Deadlocks. Paper presented at the PLDI 7809, New York, USA.
  10. Qichang Chen, L. W., Ping Guo, and He Huang. (2011). Analyzing Concurrent Programs for Potential Programming Errors. Modern Software Engineering Concepts and Practices: Advanced Approaches, 1-43. doi: 10.4018/978-1-60960-215-4.ch016
  11. Tong Li, C. S. E., Alvin R. Lebeck, and Daniel J. Sorin. (2005, April 10-15). Pulse: A Dynamic Deadlock Detection MechanismUsing Speculative Execution. Paper presented at the 2005 USENIX Annual Technical Conference, Anaheim, California.
Download


Paper Citation


in Harvard Style

Ploysri S. and Rivepiboon W. (2013). Yet, Another Method for Detecting API Deadlock . In Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-62-4, pages 132-139. DOI: 10.5220/0004417801320139


in Bibtex Style

@conference{enase13,
author={Suvarin Ploysri and Wanchai Rivepiboon},
title={Yet, Another Method for Detecting API Deadlock},
booktitle={Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2013},
pages={132-139},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004417801320139},
isbn={978-989-8565-62-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Yet, Another Method for Detecting API Deadlock
SN - 978-989-8565-62-4
AU - Ploysri S.
AU - Rivepiboon W.
PY - 2013
SP - 132
EP - 139
DO - 10.5220/0004417801320139