Nick Vrvilo

Learn More
Coordination and synchronization of parallel tasks is a major source of complexity in parallel programming. These constructs take many forms in practice including directed barrier and point-to-point synchronizations, termination detection of child tasks, and mutual exclusion in accesses to shared resources. A read-write lock is a synchronization primitive(More)
This paper presents a formal modeling paradigm that is callable from C, the dominant language for embedded systems programming , for message passing APIs that provides reasonable assurance that the model correctly captures intended behavior. The model is a suitable reference solution for the API, and it supports putative what-if queries over API scenarios(More)
The Habanero Java Library (HJ-lib) is a Java 8 library implementation of the Habanero Java (HJ) programming model. Calls into this pure Java library provide support for all HJ primitives, including async, finish, and phasers. In previous work, we presented VR, a custom verification run-time designed to be used within Java Pathfinder (JPF) to verify a subset(More)
—Habanero is a task parallel language that provides correctness guarantees. Even so, programs can be non-deterministic due to deadlock or data-race. This paper presents a verification specific library for Habanero intended to assist in discovering deadlock and data-race. The library has been extensively tested with Java Pathfinder (JPF) to ensure its(More)
  • 1