Using execution trace data to improve distributed systems
Authors:
- 21 June 2002
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 32 (9) , 889-906
Abstract
One of the most challenging problems facing today's software engineer is to understand and modify distributed systems. One reason is that in actual use systems frequently behave differently than the developer intended. In order to cope with this challenge, we have developed a three‐step method to study the run‐time behavior of a distributed system. First, remote procedure calls are traced using CORBA interceptors. Next, the trace data is parsed to construct RPC call‐return sequences, and summary statistics are generated. Finally, a visualization tool is used to study the statistics and look for anomalous behavior. We have been using this method on a large distributed system (more than 500000 lines of code) with data collected during both system testing and operation at a customer's site. Despite the fact that the distributed system had been in operation for over three years, the method has uncovered system configuration and efficiency problems. Using these discoveries, the system support group has been able to improve product performance and their own product maintenance procedures. Copyright © 2002 John Wiley & Sons, Ltd.Keywords
This publication has 15 references indexed in Scilit:
- From UML Descriptions of High-Level Software Architectures to LQN Performance Models2000
- Almost1999
- Visualizing dynamic software system information through high-level models1998
- PARFORMAN—AN ASSERTION LANGUAGE FOR SPECIFYING BEHAVIOR WHEN DEBUGGING PARALLEL APPLICATIONSInternational Journal of Software Engineering and Knowledge Engineering, 1996
- A toolset for performance engineering and software design of client-server systemsPerformance Evaluation, 1995
- Debugging heterogeneous distributed systems using event-based models of behaviorACM Transactions on Computer Systems, 1995
- Visualization using timelines1994
- A framework for dynamic program analyzers1993
- Seesoft-a tool for visualizing line oriented software statisticsIEEE Transactions on Software Engineering, 1992
- Event-based performance perturbation1991