As software systems evolve over a series of releases, it becomes important to know which components show repeated need for maintenance. Deterioration of a single component manifes...
Catherine Stringfellow, C. D. Amory, Dileep Potnur...
A prerequisite of participating in an enterprise system is the ability to cope with the rigorous demands experienced within the system. In order to cope with these demands, a numb...
Software engineering is hampered by the fact that software systems quickly become so complex that they are hard to understand, evolve and maintain. Closer integration of code and ...
Time pressure and quality issues bring new challenges for developing web-based systems. The ability to analyze quality early in the development life cycle is crucial. Among the te...
Instance orientation is an approach for designing and programming software systems. It addresses a limitation of current software architectures: it allows multiple higherlevel vie...
We describe an object oriented approach to developing an Identity Based Encryption system. We show how an existing API was reused and extended to facilitate our development of the...
Design by Contract is a design methodology that promotes software reliability and reusability by requiring each component module to have a well-specified interface and leaves a mo...
Phillip L. Nico, Clark Savage Turner, Kimberly Kno...
Short time-to-market is an important requirement for developing web-based systems. Software architecture plays a critical role for time-to-market objective to be satisfied since i...
The problem this paper addresses is that an architecture formed of software components can contain composition errors (introduced, for instance, as a result of the choice of afram...
Program transformation through the repeated application of simple rewrite rules is conducive to formal verification. In practice, program transformation oftentimes requires data t...