Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Computer Sciences

PDF

Air Force Institute of Technology

2006

Java (Computer program language)

Articles 1 - 2 of 2

Full-Text Articles in Physical Sciences and Mathematics

Flashlight: A Dynamic Detector Of Shared State, Race Conditions, And Locking Models In Concurrent Java Programs, Scott C. Hale Mar 2006

Flashlight: A Dynamic Detector Of Shared State, Race Conditions, And Locking Models In Concurrent Java Programs, Scott C. Hale

Theses and Dissertations

Concurrent Java programs are difficult to understand and implement correctly. This difficultly leads to code faults that are the source of many real-world reliability and security problems. Many factors contribute to concurrency faults in Java code; for example, programmers may not understand Java language semantics or, when using a Java library or framework, may not understand that their resulting program is concurrent. This thesis describes a dynamic analysis tool, named FlashLight, that detects shared state and possible race conditions within a program. FlashLight illuminates the concurrency within a program for programmers who are wholly or partially "in the dark" about …


Toward The Static Detection Of Deadlock In Java Software, Jose E. Fadul Mar 2006

Toward The Static Detection Of Deadlock In Java Software, Jose E. Fadul

Theses and Dissertations

Concurrency is the source of many real-world software reliability and security problems. Concurrency defects are difficult to detect because they defy conventional software testing techniques due to their non-local and non-deterministic nature. We focus on one important aspect of this problem: static detection of the possibility of deadlock - a situation in which two or more processes are prevented from continuing while each waits for resources to be freed by the continuation of the other. This thesis proposes a flow-insensitive interprocedural static analysis that detects the possibility that a program can deadlock at runtime. Our analysis proceeds in two steps. …