Program slicing has been used for efficient program debugging activities. Program slice is computed by analyzing dependence relations between program statements. We can divide dep...
This paper presents our extension to AspectJ for distributed computing. Although AspectJ allows Java developers to modularize a crosscutting concern as an aspect, this paper shows...
We present Bristlecone, a programming language for robust software systems. Bristlecone applications have two components: a high-level organization description that specifies how t...
Testing is a vital part of the software development process. Test Case Generation (TCG) is the process of automatically generating a collection of test-cases which are applied to ...
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simp...