作者: Alessandro Orso , Saurabh Sinha , Mary Jean Harrold
关键词:
摘要: Understanding data dependences in programs is important for many software-engineering activities, such as program understanding, impact analysis, reverse engineering, and debugging. The presence of pointers can cause subtle complex that be difficult to understand. For example, languages C, an assignment made through a pointer dereference assign value one several variables, none which may appear syntactically statement. In the first part this article, we describe two techniques classifying dereferences. technique classifies based on definition type, use path type. second span. We present empirical results illustrate distribution data-dependence types spans set real C programs. discuss applications classification techniques. First, investigate different ways used facilitate data-flow testing. outline approach uses determine appropriate verification dependences; approach. Second, new slicing computes slices dependences. Based approach, define incremental slice multiple steps. sizes potential usefulness