Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
Articles 1 - 3 of 3
Full-Text Articles in Physical Sciences and Mathematics
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi T. Khatchadourian, Youyou Cong, Keisuke Ishibashi
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi T. Khatchadourian, Youyou Cong, Keisuke Ishibashi
Publications and Research
In open-source software, it is known that there are many concurrency bugs. A previous study in Go revealed that a considerable number of such bugs are simple (for example, 9% of the bugs are the ones that forget to unlock a mutex,) through a manual program investigation. This paper tries to detect such bugs by applying a simple analysis to see how far such a tool can match the manual analysis. We built a simple intraprocedural control flow analysis in Go, and evaluated its performance concerning the open source programs with concurrency bugs reported in the previous study. Consequently, as …
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi T. Khatchadourian
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi T. Khatchadourian
Publications and Research
Actor concurrency is becoming increasingly important in the development of real-world software systems. Although actor concurrency may be less susceptible to some multithreaded concurrency bugs, such as low-level data races and deadlocks, it comes with its own bugs that may be different. However, the fundamental characteristics of actor concurrency bugs, including their symptoms, root causes, API usages, examples, and differences when they come from different sources are still largely unknown. Actor software development can significantly benefit from a comprehensive qualitative and quantitative understanding of these characteristics, which is the focus of this work, to foster better API documentations, development practices, …
Formalizing Reusable Aspect-Oriented Concurrency Control, Neelam Soundarajan, Derek Bronish, Raffi T. Khatchadourian
Formalizing Reusable Aspect-Oriented Concurrency Control, Neelam Soundarajan, Derek Bronish, Raffi T. Khatchadourian
Publications and Research
Java and its library provide powerful concurrency control mechanisms. However, their use can lead to similar synchronization code scattered across multiple classes, synchronization and functional code being tangled together, and similar code being duplicated in many applications. Aspect-oriented (AO) programming makes it possible to address these problems. However, the specific behavior of systems built using AO techniques can be challenging to comprehend. We propose a specification approach to precisely express such systems' critical concurrency and synchronization properties. We illustrate the method with a simple example.