Skip to Main Content
This paper raises and discusses a completely new challenge in the age of ubiquitous computing: how to test and debug a computing system running continuously and persistently? The ultimate goal of ubiquitous computing is to provide users with the way of computing anytime and anywhere. A necessary condition and/or fundamental assumption to underlie ubiquitous computing are that there certainly are computing systems working anytime available anywhere throughout the physical world. Therefore, ubiquitous computing must lead to requiring that computing systems can run continuously and persistently without stopping. However, all the existing testing and debugging techniques take programs of a system rather than the running system itself as the objects and/or targets, and assume that any program can be executed repeatedly with various input data only for testing and debugging without regard to stopping the task that program has to perform. In order to develop, use, and maintain persistent computing systems, we have to find a completely new methodology and its related techniques to test and debug a persistent computing system at run-time without stopping it. This is a completely new challenge in ubiquitous computing.