Program slicing is a well-known program analysis technique that extracts the elements of a program related to a particular computation. Based on modular monadic semantics of a pro...
Coupling is considered by many to be an important concept in measuring design quality. There is still much to be learned about which aspects of coupling affect design quality or o...
We surveyed a number of Australian software practitioners in order to understand what software development practices were used in their recent software projects. We were particula...
The usefulness of design patterns in forward engineering is already well-known and several tools provide support for their application in the development of software systems. Whil...
The success of UML and more generally, of the model driven approach, has led to a proliferation of models, representing various systems, but the description of large applications ...
As modern computing environments become more open, distributed and pervasive, the software we build for those dynamic environments will need to become more adaptable and adaptive....
Starting with a UML specification that captures the underlying functionality of some given Java-based concurrent system, we describe a systematic way to construct, from this speci...
Message Sequence Charts (MSCs) are a graphical language for scenarios of communicating components exchanging messages in a distributed environment. The language has been standardi...