一句话:针对 R 动态特性,提出融合控制与数据流的静态分析及动静结合方法,以提升 R 程序理解。
R 在统计计算中广泛使用,但其大量包与动态特性使程序分析与理解的支持有限。该博士研究围绕三个目标展开:理解真实世界中 R 的使用方式,设计能处理动态特性的分析策略,并借此提升 R 脚本的可理解性。作者以八项贡献为框架,分析 R 脚本中的特性使用,提出一种将控制流与数据流交织的新静态数据流分析,并探索结合静态与动态分析的程序理解技术。摘要未报告具体实验数值,评估主要通过所提出分析对 R 程序理解的支持来体现。
Context Comprehending code is crucial in all areas of software development, with many existing supporting tools and techniques for various languages. However, for R, a widely used programming language, especially in the field of statistical computing, the support is limited. R offers a large number of packages as well as dynamic features, which make it challenging to analyze and understand. Objective We aim to (i) gain a better understanding of how R is used in the real world, (ii) devise better analysis strategies for R, which are able to handle its dynamic nature, and (iii) improve the comprehension of R scripts by using these analyses, providing new methods and procedures applicable to program comprehension in general. Method In eight contributions, we analyze feature usage in R scripts, develop a new static dataflow analysis intertwining control and dataflow, and more. We enable and propose new techniques for program comprehension using a combination of static and dynamic analysis.