Program and system comprehension are vital parts of the software maintenance process. We discuss the need for both perspectives and describe two methods that may be integrated to ...
Christos Tjortjis, Nicolas Gold, Paul J. Layzell, ...
Large, complex and long-lived software need to be upgraded at runtime. Addition, removal and replacement of a software component are the elementary evolution operations that have ...
A framework is described that can be used to build and test application-level software for wireless mobile computing. It emulates the physical mobility of wireless devices by usin...
Software-intensive systems often exhibit dimensions in size and complexity that exceed the scope of comprehension of even talented, experienced system designers and analysts. With ...
TrustedFlow™ is a software solution to the problem of remotely authenticating code during execution. A continuous flow of idiosyncratic signatures assures that the software from ...
Academic lab managers have been using Sassafras's KeyServer software for more than a decade to manage software licenses. KeyServer is server-based license management software...
Software coordination models and languages describe how agents, resources and processes work together to implement a software system. One of their limitations is that they are use...
In this paper we argue that treating “testing” as an isolated topic is a wrong approach in computer science and software engineering teaching. Instead testing should pervade p...
Software patterns are a new design paradigm used to solve problems that arise when developing software within a particular context. Patterns capture the static and dynamic structu...
One of the main reasons behind unfruitful software development projects is that it is often too late to correct the problems by the time they are detected. It clearly indicates th...