| R. K. Chatterjee, B. G. Ryder, and W. A. Landi, \Complexity of concrete typeinference in the presence of exceptions," Lecture notes in Computer Science, vol. 1381, pp. 57-74, Apr. 1998. |
....and Harold [24] discusses the e ects of exception handling constructs on several analyses such as control ow, data ow, and control dependence analysis. They present techniques to construct representations for programs with checked exception and exceptionhandling constructs. Chatterjee and Ryder [2,3] describe an approach to performing points to and data ow analyses that incorporate exceptional control ow. Failure to account for the e ects of exception in performing analyses can result in incorrect analysis information. But these e orts di er from our work in that they focus on modelling ....
R. K. Chatterjee, B. G. Ryder, and W. A. Landi, \Complexity of concrete typeinference in the presence of exceptions," Lecture notes in Computer Science, vol. 1381, pp. 57-74, Apr. 1998.
....66.7 . This study supports our belief that the use of exception handling constructs in practice is significant enough that it should be considered during various analyses. Several researchers have considered the effects of exception handling constructs on various types of analyses. One approach [5] performs control flow analysis to compute points to information in the presence of exceptions. Another approach [23] performs control flow analysis to facilitate interprocedural path profiling, and handles code that contains exception handling constructs. Other work [32] addresses the problem of ....
....such as C , can be constructed similarly. We also restrict our discussion to problems, representations, and analyses for exception handling constructs; techniques for handling other features of object oriented languages, such as polymorphism and object flow, are discussed elsewhere (e.g. [5, 20, 22]) In this paper, we also present results of empirical studies that we performed using our program analysis system, Aristotle Analysis System for Java (AAS Java) written in Java, that analyzes Java byte code files. 3 These studies evaluate the precision of our representations and compare the ....
[Article contains additional citation context not shown here]
R. K. Chatterjee, B. G. Ryder, and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. Lecture Notes in Computer Science, 1381:57--74, Apr. 1998.
....in the presence of at most one level of indirection can be carried out using an independent attributes analysis, while the presence of even two levels of indirection requires a relational attributes analysis. A similar line of reasoning can be used to derive a recent result by Chatterjee et al. [4], namely, that intra procedural concrete type inference for Java programs with single level types and exceptions without subtyping, and without dynamic dispatch, is PSPACE hard. 3.3.2 Intra procedural Reaching De nitions with Single Level Pointers Consider the problem of computing ....
R. Chatterjee, B. G. Ryder, and W. A. Landi, \Complexity of Concrete Type-inference in the Presence of Exceptions", Proc. European Symposium on Programming, 1998.
....should be performed. Di#erent compilers adopt di#erent heuristics for addressing the issue. However, to the best of our knowledge, there is no heuristics that takes exceptions into account. There are many studies that focus on optimizing the normal path of programs in the presence of exceptions [34, 16, 18, 26, 32]. Our focus is on reducing the overhead due to exception handling rather than such code optimization. Their results and our approach can complementarily improve exception intensive programs. 6. CONCLUSIONS This paper has presented a novel approach to adaptive optimization of exception intensive ....
Chatterjee, R., Ryder, B. G., and Landi, W. Complexity of concrete type-inference in the presence of exceptions. In ESOP'98, 7th European Symposium on Programming, Proceedings (Lecture Notes in Computer Science, Vol. 1381) (Berlin, Apr. 1998), Springer-Verlag, pp. 57--74.
....for the raised exception from the main data ow. Now, a typical data ow analyser either ignores exceptions or, in the best case, roughly mixes data ow for the raised exception with the main data ow. The only known approach of proper analysis of programs with exceptions is described in [1]. Data ow analysis implemented in the static error checker OSA (Oberon 2 Modula 2 Static Analyser) 2] ignores exceptions in Modula 2 programs. Of course, OSA analysis is not correct for exceptions. Nevertheless, there was almost no problem with it so far because exceptions are rarely used in ....
....(null dereference, division by zero, etc. are handled by the OSA analysis only if they were recognized as de nite; possible exceptions are ignored because their implementation would be ine ective and as a rule useless. The Java subset currently implemented in the OSA is almost the same as in [1]. 3 Structures for Exception Handling Analysis Unlike the approach [1] the implicit control ow for raised exceptions is represented explicitly in our data ow analysis. The diculty is that the additional control ow structures have to be constructed dynamically in the process of data ow ....
[Article contains additional citation context not shown here]
R. Chatterjee, B.G. Ryder, and W.A. Landi. Complexity of Concrete TypeInference in the Presence of Exceptions. LNCS 1381, Proceedings of European Symposium on Programming, April, 1998.
....do not occur. Nevertheless, problems of precision related to function pointers and dynamic dispatch must also be addressed, particularly for languages that more extensively employ these features. Various techniques have been reported that can improve the precision of interprocedural graphs (e.g. [2, 4, 7]) Our continuing work will investigate the incorporation of such techniques into our approach. 7 Conclusions Program slicing has been rigorously researched as a potential aid in many common software engineering tasks. SDG based slicing techniques form one important class of program slicing ....
R.K. Chatterjee, B. G. Ryder, , and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. In Proc. of Euro. Symp. on Prog., Apr. 1998.
....do not occur. Nevertheless, problems of precision related to function pointers and dynamic dispatch must also be addressed, particularly for languages that more extensively employ these features. Various techniques have been reported that can improve the precision of interprocedural graphs (e.g. [2, 4, 7]) Our continuing work will investigate the incorporation of such techniques into our approach. 7 CONCLUSIONS Program slicing has been rigorously researched as a potential aid in many common software engineering tasks. SDG based slicing techniques form one important class of program slicing ....
R.K. Chatterjee, B. G. Ryder, , and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. In Proc. of Euro. Symp. on Prog., Apr. 1998.
....on various types of analyses. One approach constructs control flow representation for exception handling constructs, and uses the representation to perform data flow analyses [12] Another approach considers the control flow caused by exceptions while performing points to and data flow analyses [13], 14] Other research has analyzed the flow of exceptions, and built tools to facilitate understanding of the exceptional behavior of IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 26, NO. 9, SEPTEMBER 200 2 TABLE I Frequency of occurrence of exception handling constructs in Java programs. ....
....the analysis of implicitly raised exceptions. We also restrict our discussion to problems, representations, and analyses for exception handling constructs; techniques for handling other features of object oriented languages, such as polymorphism and object flow, are discussed elsewhere (e.g. [13], 17] 18] In this paper, apart from the study of the frequency with which exception handling constructs occur in Java programs (Table I) we also present the results of two other empirical studies. We performed these studies using our program analysis system, Java Architecture for Bytecode ....
[Article contains additional citation context not shown here]
R. K. Chatterjee, B. G. Ryder, and W. A. Landi, "Complexity of concrete type-inference in the presence of exceptions," Lecture Notes in Computer Science, vol. 1381, pp. 57--74, Apr. 1998.
....in the presence of at most one level of indirection can be carried out using an independent attribute analysis, while the presence of even two levels of indirection requires a relational attribute analysis. A similar line of reasoning can be used to derive a recent result by Chatterjee et al. [3], namely, that intra procedural concrete type inference for Java programs with single level types and exceptions without subtyping, and without dynamic dispatch, is PSPACE hard. 3.3.2 Intra procedural Reaching De nitions with SingleLevel Pointers Consider the problem of computing ....
R. Chatterjee, B. G. Ryder, and W. A. Landi, \Complexity of Concrete Type-inference in the Presence of Exceptions", Proc. European Symposium on Programming, 1998.
....or a throw statement. This study supports our belief that the use of exception handling statements in real life programs is signi cant enough that it should be considered during various analyses. A number of existing techniques, such as those that perform type inference for Java programs (e.g. [4]) use control ow, data ow, or control dependence information. None of these techniques, however, presents representations that accommodate exception handling representations on which maintenance activities, such as regression test selection and slicing, can be performed. This paper presents ....
....algorithms [16, 17] attempt to determine the types for each expression in a program by solving type constraints, or propagating local type information through a program. Such techniques have traditionally been applied to optimization of dynamically dispatched function calls. Recent work [4] uses context sensitive points to analysis to infer types in programs that contain exception handling constructs. Our approach to determining types for exceptions avoids exhaustive propagation of type information through a program. Rather at the point in the CFG construction when an AST node ....
R. K. Chatterjee, B. G. Ryder, and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. To appear in European Symposium on Programming, Apr. 1998.
....statement or a throw statement. This study supports our belief that the use of exception handling constructs in practice is significant enough that it should be considered during various analyses. A number of existing techniques, such as those that perform type inference for Java programs (e.g. [2]) use control flow, data flow, or control dependence information. None of these techniques, however, presents representations that accommodate exception handling representations on which maintenance activities, such as regression test selection and slicing, can be performed. This paper ....
....algorithms (e.g. 11, 12] attempt to determine the types for each expression in a program by solving type constraints, or propagating local type information through a program. Such techniques have traditionally been applied to optimization of dynamically dispatched function calls. Recent work [2] uses context sensitive points to analysis to infer types in programs that contain exceptionhandling constructs. Our approach to determining types for exceptions avoids exhaustive propagation of type information through a program. Rather, at the point in the CFG construction when an AST node ....
R. K. Chatterjee, B. G. Ryder, and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. Lecture Notes in Computer Science, 1381:57--74, Apr. 1998.
....or a throw statement. This study supports our belief that the use of exception handling statements in real life programs is significant enough that it should be considered during various analyses. A number of existing techniques, such as those that perform type inference for Java programs (e.g. [4]) use control flow, data flow, or control dependence information. None of these techniques, however, presents representations that accommodate exception handling representations on which maintenance activities, such as regression test selection and slicing, can be performed. This paper ....
....algorithms [17, 18] attempt to determine the types for each expression in a program by solving type constraints, or propagating local type information through a program. Such techniques have traditionally been applied to optimization of dynamically dispatched function calls. Recent work [4] uses 8a.NFC 8b.NFR exit B 26a.NFC 26b.NFR exit E 25 entry C 9 10 11 12 13a.NFC 13b.NFR exit C 15b.NFR 15a.NFC 13a.EFC 13b.EFR exit A TSE TSE 18 19 20a.NFC 20b.NFR exit D 1 3 4 5 entry A 2a:call C 2b:ret C entry B 6a:call C 6b:ret C 7 entry E 21 22 24 23 15b .EFR E exit 15a.EFC 15b.EFR E exit ....
R. K. Chatterjee, B. G. Ryder, and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. To appear in European Symposium on Programming, Apr. 1998.
....do not occur. Nevertheless, problems of precision related to function pointers and dynamic dispatch must also be addressed, particularly for languages that more extensively employ these features. Various techniques have been reported that can improve the precision of interprocedural graphs (e.g. [2, 4, 7]) Our continuing work will investigate the incorporation of such techniques into our approach. 7 CONCLUSIONS Program slicing has been rigorously researched as a potential aid in many common software engineering tasks. SDG based slicing techniques form one important class of program slicing ....
R.K. Chatterjee, B. G. Ryder, , and W. A. Landi. Complexity of concrete type-inference in the presence of exceptions. In Proc. of Euro. Symp. on Prog., Apr. 1998.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC