首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 328 毫秒
1.
UML模型是面向对象系统开发常用的建模语言,在由模型生成代码的过程中常常出现不一致问题,从而造成系统后期测试成本以及维护成本的增加。而UML模型中的多态性因执行路径的不确定性会对模型与代码的一致性产生重要影响,因此针对此问题提出以UML模型为基准,针对多态特性,对UML模型类图、时序图以及Java接口代码信息进行解析预处理从而获取时序调用图以及代码调用图,并对其进行多态性扩展。根据模型的信息来对代码的信息进行检测,如果出现不一致问题时根据模型信息对代码信息进行修改。通过以上提出的方法能够更加完善模型与代码的一致性检测,使检测更为有效、精准。  相似文献   

2.
为满足Java静态分布式检测系统对Java程序源代码解耦分包的需求,解决代码检测单节点单进程运行耗时过长问题,实现分布式检测系统单任务多节点并行运行的目的,本文提出了Java源代码文件间依赖性分析方法.该方法以生成源代码文件抽象语法树的方式抽取文件文本信息,遍历分析抽象语法树,获取文件与其他源代码文件类依赖关系,再通过定位类所在的文件方式得到文件与文件之间依赖关系.同时,以无入边顶点的带环有向图表示文件间依赖关系图,本文提出的方法基于该图进行了文件间解耦的分析.最后,通过对示例程序逐步剖析的实验以及对数个开源工具源代码解耦拆分的实验,验证了本文提出的文件间依赖性分析方法的可行性.  相似文献   

3.
为了解决系统设计过程中模型一致性问题,提出了一种对UML顺序图和状态图的语义一致性检测方法。该方法对顺序图和状态图一致性进行符号化描述,为一致性检测提供理论基础;提出状态约简规则和状态约简算法,能够减少冗余状态和迁移,证明了状态约简不影响一致性检测;提出改进的UML模型到PROMELA的转换方法并使用SPIN进行验证。实验表明上述方法能够有效地检测顺序图和状态图的一致性,在验证过程中减少冗余状态和迁移,转换后的代码结构简单、执行效率高。  相似文献   

4.
冗余代码普遍存在于商业和开源软件中,它的存在可能会增加内存占用,影响代码可维护性,增加维护成本。快速类型分析算法是当前Java冗余代码检测中常用的静态分析方法,该算法在虚方法分析方面还存在一些不足。XTA是一种调用图构造算法,在处理虚方法的调用方面具有较高的精度和效率。文中提出了一种基于XTA调用图构建算法的方法来检测Java代码中的冗余代码,在一个名为“RCD”(Redundant Code Detection)的工具原型中实现了这种方法,并通过构建知识图谱辅助人工审查,以提高人工审查的效率以及冗余代码检测的可信度。通过在4个开源Java应用程序上的实验对RCD与其他3个冗余代码检测工具进行了比较。实验结果表明,RCD在检测冗余代码的准确性方面相比其他工具提高了1%~30%,同时在检测冗余虚方法的完整性方面提升了4%左右。  相似文献   

5.
根据MDA中模型自动转换到代码的特点,提出了一种UML类图中关联关系到代码的转换方法。讨论了UML中关联关系及其两种实现模式,对每种模式分别定义了一套从UML模型(平台独立模型)到Java模型(平台相关模型)的变换规则,给出了两种实现模式按规则转换的实例。  相似文献   

6.
为解决UML类图一致性检测问题,分析了UML类图、DLs和OWL DL的特点,给出了UML类图的OWL DL本体表示形式,研究了UML类图转化为OWL DL本体知识库的方法,证明了转化方法的正确性,提出了一种基于描述逻辑的UML类图一致性检测方案.该方案通过将UML类图转换为OWL DL本体知识库,利用OWL DL强大的推理功能实现UML类图一致性检测,最后以实例证明了该方案的可行性.  相似文献   

7.
为了提高Web开发效率,开发人员常常复用已有系统框架或成熟项目中现有的代码,但因此也导致了Web应用中总存在大量的冗余代码,冗余代码不仅影响程序的可读性和运行效率同时还会隐藏软件缺陷。通过研究Web应用源代码逻辑和框架的特性,提出了Web应用系统中基于源代码分析的冗余代码检测方法。从应用程序入口开始,根据代码之间的逻辑调用关系构建Web应用调用树,进而得到有效页面集、有效类与方法节点集;然后根据冗余检测算法检测出Web应用系统中冗余页面、冗余处理类与处理方法。为了评估冗余检测方法的有效性,包括漏检率与误检率,对两个JavaWeb应用进行冗余检测并通过人工注入冗余实验验证检测的有效性。实验结果证明,提出的冗余代码检测方法可以达到较高的检测效率。  相似文献   

8.
方文渊  刘琰  朱玛 《计算机科学》2019,46(1):219-225
最新的研究表明,从大量源代码中提取代码特征,建立统计语言模型,对代码有着良好的预测能力。然而,现有的统计语言模型在建模时,往往采用代码中的文本信息作为特征词,对代码的语法结构信息利用不充分,预测准确率仍有提升空间。为提高代码预测性能,提出了方法的约束关系这一概念;在此基础上,研究Java对象的方法调用序列,抽象代码特征,构建统计语言模型来完成代码预测,并研究基于方法约束关系的代码预测模型在Java语言中的适用范围。实验表明,该方法较现有的模型提高了8%的准确率。  相似文献   

9.
UML被MDA用来描述各种模型,成为建模语言事实上的标准。但是,由于UML类图中缺少对关系数据库的实现的约束,使得类图转换到的关系数据库模型不唯一,不能充分体现设计者对数据库的设计意图。这不利于MDA中PIM模型和关系PSM模型的双向转换。为解决以上问题,本文提出一种通过添加构造型和OCL约束来扩展UML类图的方法,以加强类图中数据之间的关系及约束,使PIM模型能够唯一地转换到PSM模型。最后,采用QVT模型转换方法将扩展后的UML类图转换到关系数据库模型,并结合例子给出了UML类图的关联、继承、组合和聚合关系等到关系数据库模型的转换规则和方法。利用本方法可以使UML类图到关系数据库模型的转换结果唯一。  相似文献   

10.
UML是一种被广泛用于软件系统需求分析和详细设计的标准建模语言,研究将UML描述的软件详细设计自动生成代码的技术可以大大加速软件产品的开发进度,提高软件的质量。提出一种将UML类图和顺序图相结合生成具有静态结构和动态行为信息的C++代码的方法,从而解决现在多数代码生成工具只能将静态图转换为C++代码框架而不能处理动态行为模型转换的问题。该方法包括UML类图和顺序图的元模型以及相应的转换规则。最后通过一个采用Velocity技术实现的代码生成器生成代码的实例描述了代码生成的具体过程及结果。  相似文献   

11.
Recently, we proposed an integrated formal semantics based on graph transformation for central aspects of UML class, object and state diagrams. In this paper, we explain the basic ideas of that approach and show how two more UML diagram types, sequence and collaboration diagrams, can be captured. For UML models consisting of a class diagram and particular state diagrams, a graph transformation system can be defined. Its graphs are associated with system states and its rules with operations in the class diagram and transitions in the state diagrams. Sequence and collaboration diagrams then characterize sequences of operation applications and therefore sequences of transformation rule applications. Thus valid sequence and collaboration diagrams correspond to derivations induced by the graph transformation system. Proceeding this way, it can be checked for example whether such an operation application sequence may be applied in a specific system state.  相似文献   

12.
关系信息是体现代码结构和语义的最重要的一类信息,如继承、聚合、组合、依赖、调用和创建实例等。为了更好地支持开源代码的理解与复用,提出了一种基于UML2关系的代码库构造方法。它以图数据库为实现平台,采用语言工程中经典的抽象语法树作为基础,并针对Java语言的特性和机制,设计富语义的Java代码属性图数据模型,在此基础上使得Java代码的图结构持久化。同时,为了屏蔽各种编程语言社区对代码中关系信息理解的差异性,采用UML2.4国际标准版本中定义的关系类型及语义解释,设计相应的代码关系抽取算法,为图节点添加对应的关系边。针对代码图化后的膨胀及代码库的空间存储消耗情况,选取9个常见的开源项目进行了实验评估。最后,给出了基于此代码库的查询应用实例。  相似文献   

13.
何鹏  卫操  吕晟凯  曾诚  李兵 《软件学报》2023,34(11):5029-5041
软件系统是一个复杂的人工制品,类之间的交互关系对软件质量有着潜在影响,如软件缺陷的级联传播效应就是一个典型.如何准确预测软件系统中类之间合理关系,优化设计结构是软件质量保障的一个开放问题.从软件网络观的视角,综合考虑软件系统中类与类之间关系(外部图),以及每个类内部方法之间关系(内部图),将软件系统抽象成一个图中图结构的软件网络,并在此基础上提出一种基于图中图卷积神经网络的类交互关系预测方法.首先对每个类内部图进行卷积得到类节点的初始特征,再通过外部图的卷积更新类节点的表征向量,最后通过计算类节点对的评估值进行交互预测.根据在6个Java开源项目上的实验结果显示,图中图结构有助于提高软件系统结构的表征能力,且所提方法与常规网络嵌入方法相比, AUC值和AP值的平均增长率超过5.5%.与此同时,和两种同行方法相比, AUC值和AP值的平均增长率分别在9.36%和5.22%以上.  相似文献   

14.
杨静  张明义 《计算机科学》2006,33(9):262-265
本文融合UML用例图、类图、顺序图和状态图,得到一个软件系统的需求模型,给出了这个需求模型的各个元素及相互间协调性检查的一种方法,这样。可以从软件开发的需求分析阶段检查模型的协调性,减少开发成本,最后再从协调的需求模型生成代码。  相似文献   

15.
In model driven architecture (MDA), system requirements are first captured by UML (unified mod- eling language) use cases with sequence diagrams to describe their intended use and implemented by classes of objected-oriented languages in the subsequent design stages. It is important that the dynamic behavior specified by the sequence diagrams is in full compliance with the implementation classes. This paper proposes an auto- matic approach and tool support for generating class contracts, which define a precondition and a postcondition for each operation of the class. The former serves as a guard to ensure invocations of the operations respect the semantics introduced by the sequence diagrams, and the latter places the system in a legal state to facilitate the succeeding operation calls. The contracts can be easily mapped to code of an object-oriented language such as Java. Thus, the approach helps to bridge the gap between the requirements and design stages of system development process. We use our model transformation tool to first generate a UML protocol state machine from the sequence diagrams, and then derive the contracts for a controller class. The transformations take into account the concurrency and critical constructs of the respective UML diagrams.  相似文献   

16.
UML顺序图与状态图的一致性检查   总被引:1,自引:0,他引:1       下载免费PDF全文
陈卉  窦万峰 《计算机工程》2008,34(18):62-64
用户可使用UML从不同角度对系统进行建模,但不同视图间存在信息冗余,可能导致视图不一致问题。该文针对具有多种逻辑语义的顺序图提出分析方法,为复杂层次结构的状态图引入有限状态自动机,利用自动机分解算法得到自动机树。制定新的顺序图和状态图一致性检查准则和Promela代码结构,用模型检验工具SPIN进行顺序图及其相关状态图的一致性检验。  相似文献   

17.
AutoPA1.0是一套基于形式化方法的应用程序.它是一个基于需求规范而自动生成软件快速原型的Java代码的软件, 有着坚实、可靠的理论基础.给出一个图书馆管理系统的例子, 阐述如何用UML建立需求模型,然后用AutoPA1.0生成该需求模型对应的软件快速原型的Java代码. 采用的需求模型主要包括一个用况模型和一个概念类模型, 分别用UML中的用况图和类图描述.生成的软件快速原型将包括用况图中每个用例的执行,用一个系统数据库来描述当前系统状态, 该系统数据库保存了当前系统中存在的所有对象以及对象之间的关系.  相似文献   

18.
测试用例生成是软件自动化测试的基础与关键。随着UML的广泛应用,基于UML模型来自动生成用例的技术日益受到关注。在UML模型中,顺序图描述了软件系统的动态行为,是软件集成测试中一个重要的来源。文中提出一种基于UML顺序图与类图相结合的方法来自动生成测试用例,定义了相应的测试覆盖准则及测试衡量标准,并用一个具体实例验证了测试用例的生成过程。最后给出了测试用例自动生成工具的框架。  相似文献   

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

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