Đang chuẩn bị liên kết để tải về tài liệu:
Runtime checking using static analysis
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
In this paper we discuss possible uses of static analysis to facilitate runtime checking. In particular, we focus on two categories of uses: static analysis for helping with runtime bounds checking and the general case of using static analysis for helping with code instrumentation. | ISSN:2249-5789 Dr.D B Singh et al , International Journal of Computer Science & Communication Networks,Vol 2(5), 618-622 Runtime Checking using Static Analysis Mohd. Ishrat1, Manish Saxena2 and Dr. D.B. Singh3 1 Research Scholar, Singhania University, Pacheri Bari, Jhujhunu, Rajasthan, India. Pin - 333515 ishratgzp@gmail.com 2 Asst. Professor, MCA Department, FGIET, Raebareli, UP, India. Pin - 229001 manish.mohan.saxena@gmail.com, URL : www.manishsaxena.in 3 Professor & Dean, CSE Department, Lucknow Modern Institute of Technology & Management, Lucknow, UP, India. Pin - 226001 dbsinghbbk@gmail.com Abstract - In this paper we discuss possible uses of static analysis to facilitate runtime checking. In particular, we focus on two categories of uses: static analysis for helping with runtime bounds checking and the general case of using static analysis for helping with code instrumentation. Keywords : Run Time checking in C, Bound Checking, Static analysis for Instrumentation of Code. 1. Introduction Runtime checking is a mechanism of a programming language to check for errors at runtime, e.g. arithmetic overflows or invalid type casts. Most times an exception is thrown and/or the program is terminated, instead of ignoring this failure as it is done in C, C++ etc. Runtime checking is often criticized for slowing down the resulting program. However this ignores the fact that most compilers for languages with runtime checking allow one to switch the checks off when performance is more important. While on the other hand, adding runtime checking to a language that does not support it normally is close to impossible, since those languages don't have the needed language constructs. Manual checking of code is not enough. For one, it is both error-prone and time consuming, and secondly, humans easily get overwhelmed by complexity. This motivates the need for automation of the checking process. Moreover, the wide variety of bugs found in these systems call for innovative .