Static Analysis of C for Hybrid Type Checking

نویسندگان

  • Zachary Ryan Anderson
  • Zachary R. Anderson
چکیده

Hybrid type checking[5] is an approach to enforcing the welltypedness of programs that, where possible, uses static analysis to determine the types of expressions, and run-time checking when the precision of static analysis is insufficeint. This approach is useful for dependent type systems in which types are parameterized by run-time values of expressions. Deputy is a dependent type system for C that allows the user to describe bounded pointers, tagged unions, and null-terminated strings. Deputy runs in two phases. In the first phase, simple typing rules are applied. The typing rules prescribe the insertion of run-time checks for certain operations. In the second phase, static analysis is used to identify checks that must either always succeed or always fail. The former may safely be removed, and the latter signify typing errors. This report describes the second phase of Deputy.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extending The C Programming Language to Handle Multi-Formatted N-Bit Blocks

This paper introduces two innovative types, bob and interpret, with the corresponding operations on them into the C programming language. Such an extension greatly ease the representation and manipulation of multi-formatted N-bit blocks, which have a heavy use in a variety of domains, such as binary analysis, computer networks and cryptography. We use a small C-like language to formally describ...

متن کامل

Hybrid Resource Control for Fast-path Active Extensions

The ability of active networks technology to allow customized router computation critically depends on having resource control techniques that prevent buggy, malicious, or greedy code from affecting the integrity or availability of the router’s resources. It is hard to choose between static and dynamic checking for resource control. Dynamic checking has the advantage of basing its decisions on ...

متن کامل

Hybrid Resource Control of Active Extensions

The ability of active networks technology to allow customized router computation critically depends on having resource control techniques that prevent buggy, malicious, or greedy code from affecting the integrity or availability of node resources. It is hard to choose between static and dynamic checking for resource control. Dynamic checking has the advantage of basing its decisions on precise ...

متن کامل

Unifying Hybrid Types and Contracts

Contract systems and hybrid type systems provide two alternative approaches for enforcing precisely-defined interface specifications, with complementary advantages: contract systems excel at blame assignment, whereas hybrid type systems support type-based static analysis. We unify these two approaches by demonstrating that hybrid type checking is sufficiently expressive to encode higher-order c...

متن کامل

Executable Refinement Types

Executable Refinement Types by Kenneth L. Knowles Precise specifications are integral to effective programming practice. Existing specification disciplines such as structural type systems, dynamic contracts, and extended static checking all suffer from limitations such as imprecision, false positives, false negatives, or excessive manual proof burden. New ways of expressing and enforcing progra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007