-
公开(公告)号:CN110633084A
公开(公告)日:2019-12-31
申请号:CN201910861206.6
申请日:2019-09-12
Applicant: 北京大学
IPC: G06F8/41
Abstract: 本发明涉及一种基于单个样例的代码转换推导方法和装置。该方法包括:基于修改前和修改后的样例代码片段,提取代码超图;基于修改前和修改后的样例代码片段,提取代码修改的操作序列;依据代码修改的操作序列,并通过统计分析开源项目代码中的属性频率,对代码超图进行化简,由化简之后的代码超图和代码修改的操作序列共同组成代码转换模板;给定待修改的代码片段并提取其代码超图,然后通过与代码转换模板进行匹配得到修改后的代码片段。本发明可以仅通过一个代码修改的例子来推导出、提取出一般化的代码转换,有效避免了必须依赖于使用大量的相关代码修改来进行推导,可以更有效地推导出合理的代码转换,适用于多种应用场景。
-
公开(公告)号:CN110633084B
公开(公告)日:2020-10-02
申请号:CN201910861206.6
申请日:2019-09-12
Applicant: 北京大学
IPC: G06F8/41
Abstract: 本发明涉及一种基于单个样例的代码转换推导方法和装置。该方法包括:基于修改前和修改后的样例代码片段,提取代码超图;基于修改前和修改后的样例代码片段,提取代码修改的操作序列;依据代码修改的操作序列,并通过统计分析开源项目代码中的属性频率,对代码超图进行化简,由化简之后的代码超图和代码修改的操作序列共同组成代码转换模板;给定待修改的代码片段并提取其代码超图,然后通过与代码转换模板进行匹配得到修改后的代码片段。本发明可以仅通过一个代码修改的例子来推导出、提取出一般化的代码转换,有效避免了必须依赖于使用大量的相关代码修改来进行推导,可以更有效地推导出合理的代码转换,适用于多种应用场景。
-