首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
近几年,随着软件开发技术的发展,软件开发的步骤越来越规范化,开发的规范化固然便于软件的管理和日后的维护,但是这同时也带来一个不可避免的问题:开发人员编写重复代码工作量的骤然提升,一个很好的实例是基于SSH(Struts2,Spring,Hibernate)框架的开发。本文采用MDA(Model Driven Architecture)技术结合SSH开发框架提出一种新的代码生成方案sMDA,sMDA很好地解决重复代码编写的问题。相比于以往复制粘贴的编码模式,sMDA会自动生成系统的关键代码。  相似文献   

2.
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。  相似文献   

3.
软件的可信性很大程度上依赖于程序代码的可信性。影响软件可信性的主要因素包括来自软件内部的代码缺陷、代码错误、程序故障以及来自软件外部的病毒、恶意代码等,因此从代码角度来保证软件的可信性是实现可信软件的重要途径之一。编译器作为重要的系统软件之一,其可信性对整个计算机系统而言具有非常重要的意义。软件程序一般都需要经过编译器编译后方能执行,如果编译器不可信,则无法保证其所生成代码的可信性。本文主要讨论设计和实现可信编译器的主要思路和关键技术。  相似文献   

4.
沈力  刘洪星  李勇华 《计算机应用》2018,38(10):2996-3001
软件文档和源代码之间的可追踪性研究广泛使用了信息检索(IR)技术,但由于中文文档和源代码用不同的语言书写,使用传统IR技术进行自动跟踪时会导致精度不高。针对上述问题,提出一种基于版本控制的中文文档到源代码的自动跟踪方法。首先,结合文本到源代码的启发式规则,采用IR方法计算出文本和源代码之间的相似度得分;然后,使用软件开发和维护过程中提交到版本控制软件的更新信息来修正该分数;最后,根据设定的阈值确定中文文档与源代码之间的跟踪关系。实验结果表明,改进方法的精确度和召回率相比传统IR方法均有一定的提高,并且该方法能提取出传统IR方法中遗漏的跟踪关系。  相似文献   

5.
在现阶段的大规模软件工程开发中,源代码数量已经变得越来越庞大,动辄就是数百万,甚至是数千万行以上.随着源代码数量的激增,代码的逻辑越来越复杂,相互之间的调用关系越来越繁复,代码的安全漏洞也越来越容易出现.常规的人工检查和调试已经完全不能满足庞大的系统软件的审查需求.此时,常在源代码正式发布之前,使用安全代码审查机制来快速找出系统中绝大多数的安全漏洞.针对这一问题,文章结合传统的代码安全审查原理和当前流行的可信计算技术,提出了一种基于可信计算技术的源代码安全审查模型.在代码的安全审查过程中,利用可信计算的可信度量原理的审查方法,结合运用安全操作系统的访问控制机制,检测出源代码中可能不符合可信计算理论的系统资源访问,防止主体触发来源不可信或已被篡改的代码,从而实现对各种已知和未知恶意代码的防御,让最终的代码在运行时符合可信计算标准.该模型通过将不同的软件进行类型分级,从而确定不同软件对系统资源的不同使用权限.使用文中规范开发的代码遵循可信计算标准,可以杜绝恶意代码对系统资源的不安全访问.  相似文献   

6.
代码克隆是指软件程序中一组相同或相近的代码片段,它广泛存在于软件中,因此如何发现代码克隆成为软件维护的一个重要问题。目前已有的克隆检测工具大多针对单一版本进行完整的克隆检测,然而对于大规模、复杂软件系统而言,在软件演化过程中随着代码的改变,不断重新检测代码克隆将花费较高的代价。针对这一问题,提出了一种基于分组的增量克隆检测方法。该方法根据前后两个版本的差异将源代码分为发生变化和未发生变化的两组,通过组内和组间的克隆分析实现增量的克隆检测。基于所提出的方法,在克隆检测工具CCFinderX的基础上实现了一个名为ICDBG(incremental clone detector based on grouping)的原型工具。实验证明,在变更较小时,该方法能够在保证正确性的同时显著减少克隆检测时间。  相似文献   

7.
H. Okuno  H. Matsumoto  H. Asai 《Software》1996,26(2):213-235
Precise software specifications, free from error and misunderstanding related to the user's requirements, are essential to efficient development of effective software. Various methods and tools for software specification have been devised for this purpose, but they generally require a learning effort comparable to that of learning a new computer language. TableSpec was conceived and developed to eliminate this difficulty and improve the precision and accuracy of software specifications and source codes, based on the use of a free-format table of the same form as those employed intuitively in business and everyday life to express and implement logical constructs and calculations. The free-format table and related entries and conditions can be composed on a word processor, mainly by the user. The software engineer then adds identifiers to the table elements, thereby defining the logical structure of the table. From the content and identifiers, the TableSpec system automatically generates the subprogram source code, in Cobol or C. The result is improved ease and accuracy of specification entry and checking by the user, reduction of human error related to requirement, specification and coding, and complete correspondence among all three.  相似文献   

8.
The Year 2000 software conversion effort dramatically illustrates how time consuming and costly maintaining large computer systems can become, especially when each system consists of millions of lines of source code. Understanding how a system's components interact is a key factor in implementing portfolio-wide changes, adding new features, and providing ongoing system maintenance. Any help that software developers can get in making existing software systems easier to understand improves developer productivity, enhances software quality, and reduces development cycles, all leading to faster time to market. The paper discusses the Visual Insights code viewer, a visualization application developed specifically to address the problem of working with large amounts of source code. Used within the Lucent Technologies 5ESS Switch development environment, the code viewer has resulted in increased software developer productivity. In addition, a systems integrator currently uses this tool to help understand and correct the Year 2000 date references in customer software  相似文献   

9.
针对下位机是单片机系统,上位机是PC机,下位机与上位机以异步串行通信方式交换信息,PC机界面为汉字界面的集散控制系统,讨论在单片机系统上建立汉字词汇库,形成状态点释义汉字串,组织汉字区位码串串行通信格式的方法。词汇库是由编号词组子库组成,汉字用区位码存储,状态点释义汉字串由词组编号链接而成,为释义汉字串设置专门的串行通信格式。该方法的显著特点是状态点及其释义字串的变化基本不会引起上位机的程序变化。实验结果表明,该方法有益于提高系统的通用性、二次开发性以及容错能力,拓展汉字应用范围,增强单片机系统功能。  相似文献   

10.
针对军事遥感影像应用时效性的需求以及在自主可控国产软硬件环境下开发军事应用系统的需要,对国产软硬件环境与主流商用系统差异进行了分析,在此基础上对软、硬件兼容技术进行了研究,基于分层思想设计了高内聚、低耦合的遥感影像处理系统,提出源代码一致的跨平台程序设计方法,基于开源Hadoop平台实现了遥感数据管理与高性能计算,并在此基础上生成基于国产软硬件环境下的遥感影像自动处理系统,实现了遥感影像准实时处理,运用于军事应用系统。该跨平台系统设计与实现方法显著提高跨平台应用软件开发效率,且有利于提高系统的稳定性,可以应用于其他类似跨平台系统设计开发。  相似文献   

11.
基于AOP的软件运行轨迹捕获技术研究与实现   总被引:4,自引:0,他引:4  
张瞩熹  王怀民 《计算机应用》2008,28(5):1322-1324
借助面向方面编程(AOP)的关注点分离思想,提出了基于AOP的软件运行轨迹捕获技术,它能在不改变源代码的情况下为系统注入运行轨迹捕获和运行行为监测功能,从而有效提高系统中监控模块的松耦合性。以该技术为基础实现了系统运行轨迹分析工具SRT,该工具能够在改善系统模块性的同时,为软件轨迹监测、系统故障定位提供量化依据与可信性保障。  相似文献   

12.
付善庆  李征  赵瑞莲  郭俊霞 《软件学报》2022,33(11):3930-3943
在软件工程领域,代码补全是集成开发环境(integrated development environment,IDE)中最有用的技术之一,提高了软件开发效率,成为了加速现代软件开发的重要技术.通过代码补全技术进行类名、方法名、关键字等预测,在一定程度上提高了代码规范,降低了编程人员的工作强度.近年来,人工智能技术的发展促进了代码补全技术的发展.总体来说,智能代码补全技术利用源代码训练深度学习网络,从语料库学习代码特征,根据待补全位置的上下文代码特征进行推荐和预测.现有的代码特征表征方式大多基于程序语法,没有反映出程序的语义信息.同时,目前使用到的网络结构在面对长代码序列时,解决长距离依赖问题的能力依旧不足.因此,提出了基于程序控制依赖关系和语法信息结合共同表征代码的方法,并将代码补全问题作为一个基于时间卷积网络(time convolution network,TCN)的抽象语法树(abstract grammar tree,AST)节点预测问题,使得网络模型可以更好地学习程序的语法和语义信息,并且可以捕获更长范围的依赖关系.实验结果表明,该方法比现有方法的准确率提高了约2.8%.  相似文献   

13.
针对云计算环境下的软件知识产权保护需求,提出一种基于非等价语义混淆理论的软件水印方案。方案设计了一种非等价语义混淆方法,用于切割、隐藏代码语义,同时利用混淆规则虚拟映射水印。切割后的语义放置在一个独立的模块中,验证水印信息、恢复程序正常执行。对该方案的反编译实验表明,其逆向工程难度大,保障了水印顽健性,可有效保护放置在云端的代码。  相似文献   

14.
维护代码和对应的文档的关联在软件维护、程序理解、需求跟踪等软件工程活动中有重要的意义。维护这些关联其关键在于提取关联信息,提出了一种利用信息检索技术自动提取程序源代码和中文文档关联信息的方法。首先通过提取文档中的词汇建立文档的语言概率模型,在此基础上用由代码信息组成的检索项检索文档集,由此得到代码和文档的相关列表和关联矩阵。测试结果表明在提取项大于5时即可获得95%以上的关联。  相似文献   

15.
施海昕  佘堃 《计算机应用》2005,25(10):2453-2555
根据编译原理,设计并实现了一个用于C语言的错误处理预编译器。通过扫描程序代码,它可以找到特定格式的注释,并从中提取错误名称、错误信息和错误号,最终生成对应的错误处理代码。这个预编译器改进了C语言错误处理机制,提高了软件开发效率。  相似文献   

16.
The security of software systems can be threatened by many internal and external threats, including data leakages due to timing channels. Even if developers manage to avoid security threats in the source code or bytecode during development and testing, new threats can arise as the compiler generates machine codes from representations at the binary code level during execution on the processor or due to operating system specifics. Current approaches either do not allow the neutralization of timing channels to be achieved comprehensively with a sufficient degree of security or require an unjustifiable amount of time and/or resources. Herein, a method is demonstrated for the protected execution of software based on a secure virtual execution environment (VEE) that combines the results from dynamic and static analyses to find timing channels through the application of code transformations. This solution complements other available techniques to prevent timing channels from being exploited. This approach helps control the appearance and neutralization of timing channels via just-in-time code modifications during all stages of program development and usage. This work demonstrates the identification of threats using timing channels as an example. The approach presented herein can be expanded to the neutralization of other types of threats.  相似文献   

17.
针对SoC测试中的关键问题--测试数据的压缩,提出了一种改进型的FDR码编码方法,称为IFDR码.它将测试序列看做连续的0串和1串,从而用同一种编码方法同时对0游程和1游程进行编码,突破了FDR码仅能对0游程进行编码的限制.通过分析可知IFDR码的解压电路的结构较简单,所需要的额外硬件开销很小;对ISCAS 89标准电路的实验结果表明,与FDR码以及同类型的其他编码方法相比,该编码方法能获得更高的压缩率,从而可以更好地节省测试数据的存储空间和测试应用时间.  相似文献   

18.
We consider on-line construction of the suffix tree for a parameterized string, where we always have the suffix tree of the input string read so far. This situation often arises from source code management systems where, for example, a source code repository is gradually increasing in its size as users commit new codes into the repository day by day. We present an on-line algorithm which constructs a parameterized suffix tree in randomized O(n) time, where n is the length of the input string. Our algorithm is the first randomized linear time algorithm for the on-line construction problem.  相似文献   

19.
尽管代码重用性受到了垢病,但在Java应用开发中,代码重用技术还是得到了越来越多的软件工程师的重视,因为对于某些代码的重用不仅能够使得程序变得更加简练、清晰和易于维护,而且更重要的是可以节约软件开发的成本。提高软件生产的效率,同时还能够增加代码的可靠性和增强被重用代码与系统函数的其他部分的一致性。文章就这一问题对在Java应用开发中代码重用的优劣进行了深入分析,并提出了几个相关的重用代码的解决策略。  相似文献   

20.
Most complete binary prefix codes have a synchronizing string, that is a string that resynchronizes the decoder regardless of its previous state. This work presents an upper bound on the length of the shortest synchronizing string for such codes. Two classes of codes with a long shortest synchronizing string are presented. It is known that finding a synchronizing string for a code is equivalent to finding a synchronizing string of some finite automaton. The Černý conjecture for this class of automata is discussed.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号