首页> 美国政府科技报告 >Practical Program Understanding with Type Inference
【24h】

Practical Program Understanding with Type Inference

机译:用类型推理理解实际程序

获取原文

摘要

Many questions that arise in the reverse engineering or restructuring of aprogram can be answered by determining, statically, where the structure of the program requires sets of variables to share a common representation. With this information we can find abstract data types, detect abstraction violations, identify unused variables, functions, and fields of data structures, detect simple errors of operations on abstract datatypes (such as failure to close after open), and locate sites of possible references to a value. We have a method for computing representation sharing by using types to encode representations. We use polymorphic type inference to compute new types for all variables, eliminating cases of incidental type sharing where the variables might have different representations. The method is fully automatic and smoothly integrates pointer aliasing and higher-order functions. Because it is fully modular and computationally inexpensive, it should scale to very large systems. We show how we used of a prototype tool to analyze Morphin, a 17,000 line robot control program written in C, answering a user's questions about program structure, detecting abstraction violations, and finding unused data structures and memory leaks.

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号