Distributed programs are concurrent programs that are composed of multiple concurrent processes, being located at multiple computing nodes and communicating with one another. Especially, the software of telecommunication systems such as switching syst...
Distributed programs are concurrent programs that are composed of multiple concurrent processes, being located at multiple computing nodes and communicating with one another. Especially, the software of telecommunication systems such as switching systems is embedded distributed programs. It is not only a large-scale but also its architectures are very complex. Furthermore, its execution environments are very dependent on the hardware architecture of the target systems.
In recent years, researchers have proposed some helpful debugging methodologies and debugging tools for distributed programs. However, most papers on debugging distributed software focused on the distributed debugging tools that are able to debug a distributed program at once. Sometimes, people find it harder to handle concurrent events than sequential events. Also, excessive debugging information is simply ignored because the temporary memory of people’s brains is very limited.
In this paper, we propose a debugging methodology to reduce the complexity of the large-scale distributed programs, and describe the design and implementation of a debug system for embedded distributed programs.