A Model of Exception Propagation in Distributed Applications
The paper presents a method of modeling exception propagation in distributed applications. The method is based on sequential control flow analysis and distributed control dependence analysis, that are used to detect potential interactions between subsystems. The consequences of exception occurrence are identified in local and remote contexts by calculating both explicit propagation paths and implicit influences between parallel subsystems. In order to present the adequacy of exception handling constructs, a representative, multithreaded application is prepared and quantitative information about its behavior is gathered.
KeywordsPropagation Path Exception Handling Exception Propagation Source Code Metrics Remote Call
Unable to display preview. Download preview PDF.
- 1.Hetch, M.S.: Flow Analysis of Computer Programs (1977)Google Scholar
- 2.Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graphs and its use in optimization. ACM Trans. on Progr. Lang. and Systems (1987)Google Scholar
- 3.Candea, G., Delgado, M., Chen, M.: Automatic failure-path inference: A generic introspection technique. In: 3rd IEEE Workshop on Internet Applications (2003)Google Scholar
- 4.Brennan, P.T.: Observations on program-wide ada exception propagation. In: Annual International Conference on Ada (1993)Google Scholar
- 5.Choi, J., Grove, D., Hind, M.: Efficient and precise modeling of exceptions for the analysis of java programs. ACM SIGLAN-SIGSOFT (1999)Google Scholar
- 6.Imagix Corporation Flow Charts and Control Flow Analysis (2005), http://www.imagix.com/products/lowlevel.html
- 7.Sinha, S., Harrold, M.J.: Analysis and testing of programs with exception handling constructs. IEEE Trans. Software Engineering (2000)Google Scholar
- 8.Cheng, J.: Dependence analysis of parallel and distributed programs and its applications. In: IEEE Conf. on Advances in Parallel and Distributed Comp. (1997)Google Scholar
- 9.Zhao, J.: Multithreaded dependence graphs for concurrent java programs. In: Int. Symp. on Software Engineering for Parallel and Distributed Systems (1999)Google Scholar