Domain testing, a technique for testing software or portions of software dominated by numerical processing, is intended to detect domain errors that usually arise from incorrect i...
Software engineering community has proposed several methods to evaluate software architectures with respect to desired quality attributes such as maintainability, performance, and...
To formalize a software process, its important aspects must be extracted as a model. Many processes are used repeatedly, and the ability to automate a process is also desired. One...
Software engineers need to understand programs in order to effectively maintain them. The call graph, which presents the calling relationships between functions, is a useful repre...
Reuse is one of the key benefits of components. It inherently means that the functionality of a component may be employed only partially. This triggers the issue whether all of th...
Caise, a collaborative software engineering architecture, provides extensible real-time support for collaboration between participating tools and users. The architecture maintains...
We present a calculus for the verification of sequential Java programs. It supports all Java language constructs and has additional support for Java Card. The calculus is formally ...
This paper presents a new rule for reasoning about method calls in object-oriented programs. It is an adaptation of Hoare's rule of adaptation to the object-oriented paradigm,...
Distributed groupware systems consist of a group of users manipulating a shared object (like a text document, a filesystem, etc). Operational Transformation (OT) algorithms are app...
Abstract. This paper shows how systems can be built from their component parts with specified sharing. Its principle contribution is a modular language for configuring systems. A c...