期刊文献+
共找到73篇文章
< 1 2 4 >
每页显示 20 50 100
Matching Source Code Using Abstract Syntax Trees in Version Control Systems 被引量:2
1
作者 Jonathan van den Berg Hirohide Haga 《Journal of Software Engineering and Applications》 2018年第6期318-340,共23页
Software projects are becoming larger and more complicated. Managing those projects is based on several software development methodologies. One of those methodologies is software version control, which is used in the ... Software projects are becoming larger and more complicated. Managing those projects is based on several software development methodologies. One of those methodologies is software version control, which is used in the majority of worldwide software projects. Although existing version control systems provide sufficient functionality in many situations, they are lacking in terms of semantics and structure for source code. It is commonly believed that improving software version control can contribute substantially to the development of software. We present a solution that considers a structural model for matching source code that can be used in version control. 展开更多
关键词 VERSION Control Source code MATCHING abstract syntax tree STRUCTURED Representation
在线阅读 下载PDF
基于领域知识图谱的框架间AI源码自动迁移
2
作者 丁嵘 刘屹洲 +1 位作者 王雨倩 李一錡 《软件学报》 北大核心 2026年第2期584-600,共17页
作为人工智能的基础设施,深度学习框架已经成为人工智能实现跨越发展的重要突破口.但是由于缺乏统一标准,不同框架的兼容水平较差.忠实模型转换通过将源模型迁移为另一种目标框架下的等价模型,来增强框架间的互操作性.然而,深度学习框... 作为人工智能的基础设施,深度学习框架已经成为人工智能实现跨越发展的重要突破口.但是由于缺乏统一标准,不同框架的兼容水平较差.忠实模型转换通过将源模型迁移为另一种目标框架下的等价模型,来增强框架间的互操作性.然而,深度学习框架数量较多且相互间差异较大,并且自主框架的需求逐渐增多,互相转换成本较高.因此,提出基于领域知识图谱的框架间AI源码自动迁移方法.该方法基于领域知识图谱和抽象语法树来系统地处理迁移挑战,首先将源代码转换为特定的抽象语法树,提取通用依赖信息和特定算子信息,然后再利用存储在领域知识图谱中的框架间算子及参数映射关系来迁移到目标框架下,形成目标框架下的目标模型代码,大大降低了工程复杂度.对比同类型的代码迁移工具,所提方法可以在国内外流行深度学习框架如PyTorch、PaddlePaddle和MindSpore之间进行互相迁移,达到了较好的成熟度和质量,部分成果已经开源到百度官方迁移工具PaConvert中. 展开更多
关键词 深度学习框架 代码迁移 知识图谱 抽象语法树
在线阅读 下载PDF
Bug localization based on syntactical and semantic information of source code
3
作者 YAN Xuefeng CHENG Shasha GUO Liqin 《Journal of Systems Engineering and Electronics》 SCIE EI CSCD 2023年第1期236-246,共11页
The existing software bug localization models treat the source file as natural language, which leads to the loss of syntactical and structure information of the source file. A bug localization model based on syntactic... The existing software bug localization models treat the source file as natural language, which leads to the loss of syntactical and structure information of the source file. A bug localization model based on syntactical and semantic information of source code is proposed. Firstly, abstract syntax tree(AST) is divided based on node category to obtain statement sequence. The statement tree is encoded into vectors to capture lexical and syntactical knowledge at the statement level.Secondly, the source code is transformed into vector representation by the sequence naturalness of the statement. Therefore,the problem of gradient vanishing and explosion caused by a large AST size is obviated when using AST to the represent source code. Finally, the correlation between bug reports and source files are comprehensively analyzed from three aspects of syntax, semantics and text to locate the buggy code. Experiments show that compared with other standard models, the proposed model improves the performance of bug localization, and it has good advantages in mean reciprocal rank(MRR), mean average precision(MAP) and Top N Rank. 展开更多
关键词 bug report abstract syntax tree code representation software bug localization
在线阅读 下载PDF
Identification of refactoring opportunities for source code based on class association relationships
4
作者 LIU Wei YANG Na +2 位作者 HUANG Xin-di HU Wei HU Zhi-gang 《Journal of Central South University》 SCIE EI CAS CSCD 2020年第12期3768-3778,共11页
In order to deal with the complex association relationships between classes in an object-oriented software system,a novel approach for identifying refactoring opportunities is proposed.The approach can be used to dete... In order to deal with the complex association relationships between classes in an object-oriented software system,a novel approach for identifying refactoring opportunities is proposed.The approach can be used to detect complex and duplicated many-to-many association relationships in source code,and to provide guidance for further refactoring.In the approach,source code is first transformed to an abstract syntax tree from which all data members of each class are extracted,then each class is characterized in connection with a set of association classes saving its data members.Next,classes in common associations are obtained by comparing different association classes sets in integrated analysis.Finally,on condition of pre-defined thresholds,all class sets in candidate for refactoring and their common association classes are saved and exported.This approach is tested on 4 projects.The results show that the precision is over 96%when the threshold is 3,and 100%when the threshold is 4.Meanwhile,this approach has good execution efficiency as the execution time taken for a project with more than 500 classes is less than 4 s,which also indicates that it can be applied to projects of different scales to identify their refactoring opportunities effectively. 展开更多
关键词 identification of refactoring opportunities abstract syntax tree class association relationships common association classes source code
在线阅读 下载PDF
SSA-HIAST: A Novel Framework for Code Clone Detection
5
作者 Neha Saini Sukhdip Singh 《Computers, Materials & Continua》 SCIE EI 2022年第5期2999-3017,共19页
In the recent era of software development,reusing software is one of the major activities that is widely used to save time.To reuse software,the copy and paste method is used and this whole process is known as code cl... In the recent era of software development,reusing software is one of the major activities that is widely used to save time.To reuse software,the copy and paste method is used and this whole process is known as code cloning.This activity leads to problems like difficulty in debugging,increase in time to debug and manage software code.In the literature,various algorithms have been developed to find out the clones but it takes too much time as well as more space to figure out the clones.Unfortunately,most of them are not scalable.This problem has been targeted upon in this paper.In the proposed framework,authors have proposed a new method of identifying clones that takes lesser time to find out clones as compared with many popular code clone detection algorithms.The proposed framework has also addressed one of the key issues in code clone detection i.e.,detection of near-miss(Type-3)and semantic clones(Type-4)with significant accuracy of 95.52%and 92.80%respectively.The present study is divided into two phases,the first method converts any code into an intermediate representation form i.e.,Hashinspired abstract syntax trees.In the second phase,these abstract syntax trees are passed to a novel approach“Similarity-based self-adjusting hash inspired abstract syntax tree”algorithm that helps in knowing the similarity level of codes.The proposed method has shown a lot of improvement over the existing code clones identification methods. 展开更多
关键词 code cloning clone detection hash inspired abstract syntax tree ROTATIONS hybrid framework
在线阅读 下载PDF
ECMAScript解释器的中间代码生成技术研究 被引量:1
6
作者 王宜春 李蜀瑜 +1 位作者 曹清 吴健 《计算机工程与应用》 CSCD 北大核心 2003年第18期135-136,171,共3页
论文详细介绍了在ECMAScript解释器中,中间代码生成部分的设计和实现方法。同时也简要介绍了解释器的整体结构。
关键词 ecmascript 中间代码 抽象语法树
在线阅读 下载PDF
Intermediate Representation Using Graph Visualization Software
7
作者 E. O. Aliyu A. O. Adetunmbi B. A. Ojokoh 《Journal of Software Engineering and Applications》 2020年第5期77-90,共14页
In this paper, a method to initiate, develop and visualize an abstract syntax tree (AST) in C++ source code is presented. The approach is in chronological order starting with collection of program codes as a string an... In this paper, a method to initiate, develop and visualize an abstract syntax tree (AST) in C++ source code is presented. The approach is in chronological order starting with collection of program codes as a string and split into individual characters using regular expression. This will be followed by separating the token grammar using best first search (BFS) algorithm to determine node having lowest value, lastly followed by graph presentation of intermediate representation achieved with the help of graph visualization software (GraphViz) while former is implemented using python programming language version 3. The efficacy of our approach is used in analyzing C++ code and yielded a satisfactory result. 展开更多
关键词 Recursive DESCENT PARSER Best First Search intermediate REPRESENTATION abstract syntax tree Graph Visualization SOFTWARE
在线阅读 下载PDF
DeepCom-GCN:融入控制流结构信息的代码注释生成模型
8
作者 钟茂生 刘会珠 +1 位作者 匡江玲 严婷 《江西师范大学学报(自然科学版)》 北大核心 2025年第1期27-36,共10页
代码注释生成是指给定一个代码片段,通过模型自动生成一段关于代码片段功能的概括性自然语言描述.不同于自然语言,程序语言具有复杂语法和强结构性.部分研究工作只利用了源代码的序列信息或抽象语法树信息,未能充分利用源代码的逻辑结... 代码注释生成是指给定一个代码片段,通过模型自动生成一段关于代码片段功能的概括性自然语言描述.不同于自然语言,程序语言具有复杂语法和强结构性.部分研究工作只利用了源代码的序列信息或抽象语法树信息,未能充分利用源代码的逻辑结构信息.针对这一问题,该文提出一种融入程序控制流结构信息的代码注释生成方法,将源代码序列和结构信息作为单独的输入进行处理,允许模型学习代码的语义和结构.在2个公开数据集上进行验证,实验结果表明:和其他基线方法相比,DeepCom-GCN在BLEU-4、METEOR和ROUGE-L指标上的性能分别提升了2.79%、1.67%和1.21%,验证了该方法的有效性. 展开更多
关键词 代码注释生成 抽象语法树 控制流图 图卷积神经网络 软件工程 程序理解 自然语言处理
在线阅读 下载PDF
基于孪生网络的源代码相似性检测方法
9
作者 冯景瑜 刘正波 +2 位作者 刘宇航 张文波 韩刚 《西安邮电大学学报》 2025年第2期99-106,共8页
针对现有方法在源代码相似性检测中难以有效提取语法和结构信息的问题,提出一种基于孪生网络(Siamese Neural Network,SNN)的源代码相似性检测方法。利用抽象语法树(Abstract Syntax Tree,AST)作为源代码表征形式,设计适用于AST的位置... 针对现有方法在源代码相似性检测中难以有效提取语法和结构信息的问题,提出一种基于孪生网络(Siamese Neural Network,SNN)的源代码相似性检测方法。利用抽象语法树(Abstract Syntax Tree,AST)作为源代码表征形式,设计适用于AST的位置编码机制和多维源代码特征提取机制。将AST中的每个节点转化成词嵌入向量,生成对应的位置编码向量,相加后输入Transformer模型,生成包含丰富语法和结构信息的向量,拼接多维源代码特征向量作为孪生网络的输入,实现源代码的相似性检测。实验结果表明,所提方法准确率达91.88%,较FCDetector、TreeCen和C4方法分别提升20.32%、9.15%和10.23%,在源代码相似性检测的性能上更具优势。 展开更多
关键词 漏洞挖掘 源代码相似性 抽象语法树 孪生网络 位置编码
在线阅读 下载PDF
基于CNN和自注意力神经网络的代码补全方法
10
作者 陈伟 何成万 +2 位作者 余秋惠 贺正源 罗蝶 《计算机工程与设计》 北大核心 2025年第10期2919-2926,共8页
由于基于抽象语法树的代码补全模型在提取代码序列细粒度的局部特征方面能力较差,并且难以应用于实际开发场景,提出一种基于卷积神经网络(convolutional neural network,CNN)和自注意力神经网络Transformer的代码补全方法。采用基于代... 由于基于抽象语法树的代码补全模型在提取代码序列细粒度的局部特征方面能力较差,并且难以应用于实际开发场景,提出一种基于卷积神经网络(convolutional neural network,CNN)和自注意力神经网络Transformer的代码补全方法。采用基于代码轻量级语法信息的预处理方法,并提出将CNN与Transformer网络以参数有效的方式结合,对代码序列的全局和局部依赖关系进行全面性建模。模型采用多任务学习机制(multi-task learning,MTL)共享代码token值和类型信息,提取代码序列中的语法和语义特征完成代码token级补全任务。实验结果表明,所提出的代码补全方法在ETH 150K Python数据集上准确率达到74.85%,显著优于基线方法。 展开更多
关键词 代码补全 多任务学习 Transformer 卷积神经网络 抽象语法树 轻量级语法 深度学习
在线阅读 下载PDF
基于AST的MATLAB到Python转换器
11
作者 郭瑞 徐文浩 +2 位作者 谢鹏志 杨威 宋友 《计算机工程与科学》 北大核心 2025年第6期1041-1049,共9页
MATLAB语言被广泛应用于工业领域产品研发的各个环节,但是在实际工程应用场景中,需要将其建立的机理模型脱离MATLAB运行环境,与实际的工程系统集成应用,故需要一种将MATLAB建立的模型快速工程化的工具。为此,提出一种MATLAB到Python转换... MATLAB语言被广泛应用于工业领域产品研发的各个环节,但是在实际工程应用场景中,需要将其建立的机理模型脱离MATLAB运行环境,与实际的工程系统集成应用,故需要一种将MATLAB建立的模型快速工程化的工具。为此,提出一种MATLAB到Python转换器M2P,该转换器基于抽象语法树AST,将源代码转换到AST结构,对该结构进行分析并利用替换规则生成结果代码,最终实现MATLAB到Python的代码等价转换。对比代码转换实验的结果表明,所提转换器与现有的其他MATLAB到Python转换转换器相比具有更高的转换性能。 展开更多
关键词 代码转换 MATLAB-to-Python 抽象语法树
在线阅读 下载PDF
基于动态语义反馈的JavaScript引擎模糊测试方法研究
12
作者 刘博强 陈泽茂 《信息安全研究》 北大核心 2025年第11期1031-1039,共9页
JavaScript在服务器、嵌入式设备等开发场景中广泛应用,JavaScript引擎作为其编译和执行器,其中的安全漏洞极易引发大范围安全事件,因此针对JavaScript引擎的模糊测试成为研究热点.现有JavaScript引擎模糊测试技术生成的测试用例存在有... JavaScript在服务器、嵌入式设备等开发场景中广泛应用,JavaScript引擎作为其编译和执行器,其中的安全漏洞极易引发大范围安全事件,因此针对JavaScript引擎的模糊测试成为研究热点.现有JavaScript引擎模糊测试技术生成的测试用例存在有效率低、多样性不足等问题.针对这些问题,提出一种基于动态语义反馈的模糊测试方法,通过运行时语义信息的动态收集、分析和反馈机制辅助测试用例生成,提高测试用例的有效率.在此基础上,采用表达式替换和函数创建等用例变异策略,提高测试用例的语法探索能力.实现了JavaScript引擎模糊测试原型系统DSFfuzz,在JerryScript引擎的模糊测试对比实验中,DSFfuzz相较于3个先进工作测试用例有效率平均提升了11.81%,且触发的独特崩溃最多,发现了15个独特崩溃,证明了该方法的有效性. 展开更多
关键词 JAVASCRIPT引擎 模糊测试 抽象语法树 代码块组装 动态语义反馈
在线阅读 下载PDF
一种CMA数值预报模式代码质量检测方法与实现
13
作者 李佳静 杨泽 +3 位作者 王彬 刘易凡 董泽信 孟涛 《应用气象学报》 北大核心 2025年第2期155-163,共9页
中国气象局(CMA)数值预报的统筹研发对支撑平台的能力建设提出了更高要求,其中一个重要方面就是对数值预报模式代码的质量检测能力。目前缺乏有效针对数值预报模式代码的质量检测方法和工具,尤其对于性能缺陷和大规模代码的检测不能满... 中国气象局(CMA)数值预报的统筹研发对支撑平台的能力建设提出了更高要求,其中一个重要方面就是对数值预报模式代码的质量检测能力。目前缺乏有效针对数值预报模式代码的质量检测方法和工具,尤其对于性能缺陷和大规模代码的检测不能满足需要。为解决上述问题,该文针对子程序定义、数组操作和I/O操作等常见编程规则设计检测方法。该方法采用程序代码解析、抽象语法树匹配和流敏感的静态程序检测等关键技术,其中对分支和循环语句的分析方法有效避免了路径爆炸问题。基于该方法的检测工具在数值预报科创平台V1.0代码协同开发栏目提供使用,并应用于CMA区域数值模式的国省统筹研发。 展开更多
关键词 数值预报模式代码 代码质量 抽象语法树匹配 流敏感程序分析 有穷状态机
在线阅读 下载PDF
基于图神经网络的抗混淆恶意软件检测方法
14
作者 黄文盛 卞云波 《淮阴师范学院学报(自然科学版)》 2025年第1期8-13,共6页
为更准确识别和分析恶意软件行为,提出一种基于图神经网络的抗混淆恶意软件检测方法.该方法使用Cuckoo Sandbox收集网络内软件行为代码序列后,先使用解析器生成器读取、处理和执行软件行为代码序列,生成软件代码二进制文件的抽象语法树... 为更准确识别和分析恶意软件行为,提出一种基于图神经网络的抗混淆恶意软件检测方法.该方法使用Cuckoo Sandbox收集网络内软件行为代码序列后,先使用解析器生成器读取、处理和执行软件行为代码序列,生成软件代码二进制文件的抽象语法树.利用开源工具中的Joern对软件行为代码抽象语法树内的控制节点和控制边界进行遍历,生成软件行为代码图.以软件行为代码图作为基础,使用离散傅里叶变换方式提取软件行为代码图内恶意软件行为代码节点特征.将恶意软件行为代码特征输入到图神经网络模型内,图神经网络模型对恶意软件行为代码特征进行调用后,生成恶意软件行为代码调用图.对该调用图进行图采样、图嵌入以及信息融合等处理,运用预测层输入恶意软件抗检测结果.实验表明:该方法具备较强的软件行为代码属性图生成能力,可有效提取恶意软件行为代码特征,同时可准确检测不同类型恶意软件,且该方法具备较强的抗混淆性,应用性较佳. 展开更多
关键词 图神经网络 代码属性图 傅里叶变换 抽象语法树 节点特征 恶意软件检测
在线阅读 下载PDF
一种重构二进制代码中类型抽象的方法 被引量:8
15
作者 马金鑫 李舟军 +2 位作者 忽朝俭 张俊贤 郭涛 《计算机研究与发展》 EI CSCD 北大核心 2013年第11期2418-2428,共11页
重构二进制代码中的类型信息对逆向工程、漏洞分析及恶意代码检测等方面具有重大的意义,由于类型信息在编译过程中被移除,且二进制代码中的低级抽象难以理解,因此类型重构一直被认为是恢复高级抽象遇到的困难问题之一,现有的大多工具对... 重构二进制代码中的类型信息对逆向工程、漏洞分析及恶意代码检测等方面具有重大的意义,由于类型信息在编译过程中被移除,且二进制代码中的低级抽象难以理解,因此类型重构一直被认为是恢复高级抽象遇到的困难问题之一,现有的大多工具对类型重构的准确度不够高.提出一种保守的类型重构方法,针对类型重构引入一种简单的中间语言,基于这种中间语言构造寄存器抽象语法树,并使用寄存器抽象语法树部分解决了基址指针别名问题,可有效收集基本类型和结构体类型的类型约束信息.提出一种判断二进制代码中的循环结构及识别循环变量的方法,可有效收集数组类型的约束信息,并据此生成类型约束,然后通过处理类型约束来重构最终的类型.使用CoreUtils中的15个程序作为测试用例,将该方法与IDA Pro进行对比实验.实验结果表明提出的方法不仅可以高效地重构数据类型,而且在结构体类型重构方面可恢复比IDA Pro多达5倍的数据.对这些数据的人工验证与分析表明,使用该方法重构的类型准确率高. 展开更多
关键词 类型重构 寄存器抽象语法树 中间语言 循环变量 别名分析
在线阅读 下载PDF
使用抽象语法树和静态分析的克隆代码自动重构方法 被引量:13
16
作者 于冬琦 彭鑫 赵文耘 《小型微型计算机系统》 CSCD 北大核心 2009年第9期1752-1760,共9页
单个软件系统中以及若干个相似系统之间的代码克隆给软件维护增加了很大困难.本文针对运用克隆侦测发现的相似代码片断,提出一种基于抽象语法树和静态分析的代码自动重构方法.该方法首先为克隆代码分别构造抽象语法树,然后运用语句差异... 单个软件系统中以及若干个相似系统之间的代码克隆给软件维护增加了很大困难.本文针对运用克隆侦测发现的相似代码片断,提出一种基于抽象语法树和静态分析的代码自动重构方法.该方法首先为克隆代码分别构造抽象语法树,然后运用语句差异度指标建立起语法树之间流程控制语句的对应关系.在此基础上,该方法根据控制流程和基本语句块两个层次上的差异性分析,最终通过代码可变点提取实现克隆代码的自动合并.针对Java代码开发了克隆代码重构支持工具原型,并分别针对JDK1.5和一个业务系统进行了自动重构实验.初步的结果表明,该方法能够准确、有效地辅助开发者实现克隆代码的自动重构. 展开更多
关键词 可变点提取 代码克隆 抽象语法树 再工程 逆向工程
在线阅读 下载PDF
代码缺陷与代码味道的自动探测与优化研究 被引量:5
17
作者 刘伟 刘宏韬 胡志刚 《计算机应用研究》 CSCD 北大核心 2014年第1期170-176,共7页
为了实现代码缺陷与代码味道的自动探测与优化,提升优化与重构的效率,设计并开发了一套名为SCORT的源代码优化与重构工具。SCORT将源代码解析为抽象语法树,再探测其中存在的代码缺陷和代码味道,最后对缺陷和味道进行自动优化和重构。在S... 为了实现代码缺陷与代码味道的自动探测与优化,提升优化与重构的效率,设计并开发了一套名为SCORT的源代码优化与重构工具。SCORT将源代码解析为抽象语法树,再探测其中存在的代码缺陷和代码味道,最后对缺陷和味道进行自动优化和重构。在SCORT中已经实现了对15种常见代码缺陷和六种常见代码味道的检测以及自动优化与重构,提供了多种代码味道的自动重构算法,且具有良好的可扩展性。通过对三个待测项目的探测和优化实验结果表明,对于常见代码缺陷的探测和优化,SCORT的精确率、召回率和准确率均可达100%;对于部分常见的代码味道,SCORT尚需进一步完善。SCORT有助于开发人员提高代码质量,减少源代码中存在的缺陷和味道。 展开更多
关键词 代码缺陷 代码味道 探测 优化 重构 抽象语法树
在线阅读 下载PDF
基于多特征权重分配的源代码搜索优化 被引量:6
18
作者 李阵 钮俊 +1 位作者 王奎 辛园园 《计算机应用》 CSCD 北大核心 2018年第3期812-817,共6页
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释... 对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。 展开更多
关键词 代码复用 代码注释 方法签名 抽象语法树 代码特征
在线阅读 下载PDF
建立抽象语法树模型评测C++代码 被引量:6
19
作者 崔舒宁 吴宁 叶丹 《计算机应用》 CSCD 北大核心 2015年第A01期183-185,191,共4页
目前绝大多数的C++程序评测是通过对程序运行结果和标准测试用例的比对,给出非对即错的2值评判。而在虚拟实验室和慕课中,需要结合程序源码给出更全面客观的评价。针对此问题,通过建立C++源代码的抽象语法树,改进了结果相似度和程序代... 目前绝大多数的C++程序评测是通过对程序运行结果和标准测试用例的比对,给出非对即错的2值评判。而在虚拟实验室和慕课中,需要结合程序源码给出更全面客观的评价。针对此问题,通过建立C++源代码的抽象语法树,改进了结果相似度和程序代码相似度的计算方法,使其能够反映程序语义之间的相似度,并在此基础上建立了C++代码综合评价模型。通过实际检验,和人工批改相比较平均批改准确率达到了92.11%,并以百分制的方式给出评价结果。结合程序语义的评价,不仅对学生而言给出了更公正的评分,也为后续的虚拟实验室智能在线指导提供了基础。 展开更多
关键词 在线评测 抽象语法树 代码相似度 慕课 程序设计
在线阅读 下载PDF
单例模式导向的源代码自动重构研究 被引量:6
20
作者 刘伟 胡志刚 刘宏韬 《小型微型计算机系统》 CSCD 北大核心 2014年第12期2664-2669,共6页
针对手工重构存在容易引入错误且重构效率较低等问题,本文提出了一种以单例模式为导向的源代码自动重构方法.首先将源代码转换成抽象语法树,然后对抽象语法树进行操作,按照单例模式的要求修改抽象语法树,并自动生成重构后的单例类.该方... 针对手工重构存在容易引入错误且重构效率较低等问题,本文提出了一种以单例模式为导向的源代码自动重构方法.首先将源代码转换成抽象语法树,然后对抽象语法树进行操作,按照单例模式的要求修改抽象语法树,并自动生成重构后的单例类.该方法不仅可以对指定类进行自动单例化重构,还可以对源代码中所有创建该类实例的代码进行自动重构.对方法进行正确性检验并将其应用于两个不同规模的软件项目,实验结果表明该方法可以准确、高效地实现类的自动单例化重构,重构算法的执行时间与系统规模呈线性关系. 展开更多
关键词 源代码解析 抽象语法树 重构 自动重构 单例模式 模式导向重构
在线阅读 下载PDF
上一页 1 2 4 下一页 到第
使用帮助 返回顶部