arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 0803.4025cs.SEcs.PL
收藏

计算机程序的结构和解释

Structure and Interpretation of Computer Programs

Ganesh M. Narayan, K. Gopinath, V. Sridhar

摘要:

调用图描述了程序中“函数”之间静态的调用者-被调用者关系。由于大多数源/目标语言支持函数作为组成的基本单元,调用图自然形成了可用于理解/开发软件的基本控制流表示。它们也是执行各种过程间分析的基础,是程序理解/测试的组成部分。考虑到它们的通用性和实用性,有必要问一下调用图是否表现出任何内在的图论特征--跨版本、跨程序域和跨源语言。这项工作是试图回答这些问题:我们提出并调查了一组有意义的图的措施,帮助我们更好地理解调用图,我们建立这些措施如何相互关联,如果有的话,在不同的语言和程序域,我们还评估了整体,语言独立的软件质量适当地解释这些措施。

英文摘要:

Call graphs depict the static, caller-callee relation between "functions" in a program. With most source/target languages supporting functions as the primitive unit of composition, call graphs naturally form the fundamental control flow representation available to understand/develop software. They are also the substrate on which various interprocedural analyses are performed and are integral part of program comprehension/testing. Given their universality and usefulness, it is imperative to ask if call graphs exhibit any intrinsic graph theoretic features -- across versions, program domains and source languages. This work is an attempt to answer these questions: we present and investigate a set of meaningful graph measures that help us understand call graphs better; we establish how these measures correlate, if any, across different languages and program domains; we also assess the overall, language independent software quality by suitably interpreting these measures.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑