Department of Computer Engineering2024-11-092006978-1-59593-414-710.1145/1147403.11474072-s2.0-34247546212https://research.ibm.com/haifa/Workshops/padtad2006/present/erkan_padtad.pdfhttps://hdl.handle.net/20.500.14288/15718This work addresses the issue of selecting the formal correctness criterion for a concurrent Java program that best corresponds to the developer's intent. We study a set of concurrency-related bugs detected in Java benchmarks reported in the literature. On these programs, we determine whether race-freedom, atomicity or refinement is the simplest and most appropriate criterion for program correctness. Our purpose is to demonstrate empirically the fact that the appropriate fix for a concurrency error and the selection of a program analysis tool for detecting such an error must be based on the proper expression of the designer's intent using a formal correctness criterion.Java (Computer program language)Compilers (Computer programs)JavaSoftware engineeringArtificial intelligenceComputersA classification of concurrency bugs in java benchmarks by developer intentConference proceedinghttps://www.scopus.com/inward/record.uri?eid=2-s2.0-34247546212&doi=10.1145%2f1147403.1147407&partnerID=40&md5=b2578d3d3d4ca2ad03c819f7f131d54bN/A8189