Abstract
This paper is a contribution to the field of research dealing with the parallel computing, which is used in multithreaded applications. The paper discusses the characteristics of atomicity violation in multithreaded applications and develops a new definition of atomicity violation based on previously defined relationships between operations, that can be used to atomicity violation detection. A method of detection of conflicts causing atomicity violation was also developed using the source code model of multithreaded applications that predicts errors in the software.
Highlights
Software errors exist as long as the software itself
Race condition and atomicity violation belong to these same type of phenomena and the incorrect fixing of both of them may lead to deadlock
Locating an atomicity violation is possible using the source code model of a multithreaded application [2]; this model should be extended with a set that will describe the relationship between the two operations
Summary
Software errors exist as long as the software itself. The cause of most errors in multithreaded applications is the so-called resource conflict, while the result is undesirable phenomena, such as race condition. In comparison to the phenomenon of atomicity violation, race condition and deadlock are easy to locate. Despite the high popularity of Java, frequent use in created network projects [10], or huge support from the community, the above examples show how important it is to avoid multithreading errors This forces developers to look for solutions to optimize their code to help them prevent these phenomena.
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have