Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding. However, this requirement ...
Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, She...
Defeasible Logic is extended to programming languages for cognitive agents with preferences and actions for planning. We define rule-based agent theories that contain preferences ...
Concurrency, as a useful feature of many modern programming languages and systems, is generally hard to reason about. Although existing work has explored the verification of concu...
Extensibility and maintainability of software becomes more an issue as the complexity of the software development process rises. Design patterns in the sense of Gamma et al. [3] a...
A raw object is partially initialized, with only some fields set to legal values. It may violate its object invariants, such as that a given field is non-null. Programs often ma...