用于Java软件升级的细粒度补丁
Fine-grained Patches for Java Software Upgrades
摘要:
我们提出了一种新的方法来获得细粒度补丁的Java软件。我们认为一个抽象语法树(AST)表示的Java类编译的Java虚拟机(JVM)的格式,并在AST表示的差异分析,以获得补丁。AST表示定义了一个适当的抽象级别,用于分析差异,产生模块化地与实际源代码更改相关的紧凑补丁。该方法与其他常见的粗粒度方法形成对比,例如简单的二进制差异,这可能很容易导致不成比例的大补丁。我们提出的方法的主要特点,一个原型工具称为ASPA,实现它,并使用ASPA派生补丁的Java 2 SE API的案例研究分析。案例研究结果表明,aspa补丁有一个显着较小的尺寸比补丁由二进制差分工具。
英文摘要:
We present a novel methodology for deriving fine-grained patches of Java software. We consider an abstract-syntax tree (AST) representation of Java classes compiled to the Java Virtual Machine (JVM) format, and a difference analysis over the AST representation to derive patches. The AST representation defines an appropriate abstraction level for analyzing differences, yielding compact patches that correlate modularly to actual source code changes. The approach contrasts to other common, coarse-grained approaches, like plain binary differences, which may easily lead to disproportionately large patches. We present the main traits of the methodology, a prototype tool called aspa that implements it, and a case-study analysis on the use of aspa to derive patches for the Java 2 SE API. The case-study results illustrate that aspa patches have a significantly smaller size than patches derived by binary differencing tools.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。