首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
静态软件缺陷预测方法研究   总被引:14,自引:7,他引:7  
静态软件缺陷预测是软件工程数据挖掘领域中的一个研究热点.通过分析软件代码或开发过程,设计出与软件缺陷相关的度量元;随后,通过挖掘软件历史仓库来创建缺陷预测数据集,旨在构建出缺陷预测模型,以预测出被测项目内的潜在缺陷程序模块,最终达到优化测试资源分配和提高软件产品质量的目的.对近些年来国内外学者在该研究领域取得的成果进行了系统的总结.首先,给出了研究框架并识别出了影响缺陷预测性能的3个重要影响因素:度量元的设定、缺陷预测模型的构建方法和缺陷预测数据集的相关问题;接着,依次总结了这3个影响因素的已有研究成果;随后,总结了一类特殊的软件缺陷预测问题(即,基于代码修改的缺陷预测)的已有研究工作;最后,对未来研究可能面临的挑战进行了展望.  相似文献   

2.
基于开放实现与反射的软件进化模型   总被引:2,自引:0,他引:2  
软件进化已成为软件领域近期的研究热点之一.本文将开放实现与反射技术与软件进化结合起来,提出了软件运行进化的概念,并分析了开放实现与反射技术与软件进化六元组的关系,提出了基于开放实现与反射的软件进化模型和实现框架.网管软件进化实例说明了该模型的可用性.  相似文献   

3.
毛新军  胡翠云  孙跃坤  王怀民 《软件学报》2012,23(11):2885-2904
面向Agent程序设计(agent-oriented programming,简称AOP)基于多Agent系统的抽象和思想、借助于Agent理论和技术来支持软件系统的构造与实现,其程序设计思想、软件模型、基础理论和语言设施有别于现有主流程序设计技术,如OOP,代表了一种新颖的程序设计范型.由于多Agent系统被视为支持开放环境下复杂软件系统开发的一种新颖、有效的技术手段,因而近年来AOP受到人工智能、软件工程和分布计算等领域研究学者和工程实践人员的高度关注,并在过去20年取得了重要进展.但是,无论在应对复杂多Agent系统开发方面,还是在大规模工业化应用等方面,AOP的研究与实践都面临着严峻的挑战.作为一种程序设计范型,AOP研究需要在交叉其他学科知识(如人工智能)的基础上,充分借鉴软件工程以及已有程序设计范型的原理、原则和成功实践,从而推动技术走向成熟并为广大工程实践人员所接受.通过对AOP研究历程的系统介绍,从软件工程的视点考虑MAS程序设计的不同层次,综述AOP在程序设计抽象与模型、机制与理论、语言与设施和支撑平台这4个方面的研究成果,展示不同时期AOP研究关注点的变化以及发展趋势,分析当前AOP研究与实践存在的问题和面临的挑战,并展望进一步的研究.  相似文献   

4.
Source code management systems (such as git) record changes to code repositories of Open-Source Software (OSS) projects. The metadata about a change includes a change message to record the intention of the change. Classification of changes, based on change messages, into different change types has been explored in the past to understand the evolution of software systems from the perspective of change size and change density only. However, software evolution analysis based on change classification with a focus on change evolution patterns is still an open research problem. This study examines change messages of 106 OSS projects, as recorded in the git repository, to explore their evolutionary patterns with respect to the types of changes performed over time. An automated keyword-based classifier technique is applied to the change messages to categorize the changes into various types (corrective, adaptive, perfective, preventive, and enhancement). Cluster analysis helps to uncover distinct change patterns that each change type follows. We identify three categories of 106 projects for each change type: high activity, moderate activity, and low activity. Evolutionary behavior is different for projects of different categories. The projects with high and moderate activity receive maximum changes during 76–81 months of the project lifetime. The project attributes such as the number of committers, number of files changed, and total number of commits seem to contribute the most to the change activity of the projects. The statistical findings show that the change activity of a project is related to the number of contributors, amount of work done, and total commits of the projects irrespective of the change type. Further, we explored languages and domains of projects to correlate change types with domains and languages of the projects. The statistical analysis indicates that there is no significant and strong relation of change types with domains and languages of the 106 projects.  相似文献   

5.
有效改善软件过程方法研究   总被引:13,自引:0,他引:13  
改善软件过程是软件生产和发展软件产业的必由之路。结合目前软件过程工程领域研究现状,研究分析两种软件过程改善的方法:自顶向下和自底向上。自顶向下的方法以CMM模型框架为基础,结合其5层结构指导企业软件过程的改善;自底向上的方法根据企业及其具体软件项目的特点,采取“理解”-“评估”-“打包”的软件过程改善过程,“理解”过程目的是建立软件过程基线,“评估”过程是引进过程变更并评估过程变更造成的影响,“打包”过程是评估成功过程变更得到的经验并形成新的过程规范。最后从软件过程改善目标,软件过程基线、软件过程变更评价、软件过程改善方法等方面对上述两种软件过程改善方法进行比较。  相似文献   

6.
演化是软件可信性的核心问题。为了研究在动态、开放、多变环境下,干扰对软件可信性的影响,在分析软件系统可信性传递过程的基础上,结合元胞自动机机理和耗散理论,构建基于用户视角的软件系统可信性演化的移动元胞自动机仿真模型,仿真研究了软件系统在受到干扰的情境下,软件可信性的变化过程。研究表明,软件系统在受到干扰的环境下,当运行状态发生变化时,其可信性评价值降低,在经历了多次干扰后,系统可信性评价值最终稳定,这为动态评价、预测软件系统可信性提供了一个新的模型与方法。  相似文献   

7.
Agile software development (ASD) is an emerging approach in software engineering, initially advocated by a group of 17 software professionals who practice a set of “lightweight” methods, and share a common set of values of software development. In this paper, we advance the state-of-the-art of the research in this area by conducting a survey-based ex-post-facto study for identifying factors from the perspective of the ASD practitioners that will influence the success of projects that adopt ASD practices. In this paper, we describe a hypothetical success factors framework we developed to address our research question, the hypotheses we conjectured, the research methodology, the data analysis techniques we used to validate the hypotheses, and the results we obtained from data analysis. The study was conducted using an unprecedentedly large-scale survey-based methodology, consisting of respondents who practice ASD and who had experience practicing plan-driven software development in the past. The study indicates that nine of the 14 hypothesized factors have statistically significant relationship with “Success”. The important success factors that were found are: customer satisfaction, customer collaboration, customer commitment, decision time, corporate culture, control, personal characteristics, societal culture, and training and learning.  相似文献   

8.
Cultivation and engineering of a software metrics program   总被引:1,自引:0,他引:1  
Abstract. This paper reports from a case study of an organization that implements a software metrics program to measure the effects of its improvement efforts. The program measures key indicators of all completed projects and summarizes progress information in a quarterly management report. The implementation turns out to be long and complex, as the organization is confronted with dilemmas based on contradictory demands and value conflicts. The process is interpreted as a combination of a rational engineering process in which a metrics program is constructed and put into use, and an evolutionary cultivation process in which basic values of the software organization are confronted and transformed. The analysis exemplifies the difficulties and challenges that software organizations face when bringing known principles for software metrics programs into practical use. The article discusses the insights gained from the case in six lessons that may be used by Software Process Improvement managers in implementing a successful metrics program.  相似文献   

9.
软件成本估算是软件开发过程中一项非常重要的活动,但现有的方法在准确估算软件成本方面还存在不足。针对软件成本估算不够准确的现状,提出了一种基于RBF神经网络的软件成本估算模型。该模型采用样本聚类的方法确定隐含层节点数,利用遗传算法对隐层节点中心值和高斯函数的宽度进行优化,利用线性最小二乘法训练网络的权值。实验证明,该模型能够准确有效地估算软件成本。  相似文献   

10.
复杂软件系统的软件网络结点影响分析   总被引:2,自引:0,他引:2  
汪北阳  吕金虎 《软件学报》2013,24(12):2814-2829
目前一些研究利用复杂网络理论揭示了软件网络的特性,为人们从系统的角度了解软件的结构提供了方法.但这些研究的一些结论却与软件的实际表现有着较大的差异.分析了软件网络结点的特性,揭示了产生上述差距的部分原因;并提出一种加权软件网络模型,以更准确地描述软件网络结点间的依赖关系;在这个加权软件网络模型的基础上,分析了软件的实际依赖关系及几个统计特性;分析了各统计特性与软件网络结点影响的关系;进一步提出了软件网络关键结点的概念;同时,在分析各种结点影响的基础上,提出了4 个合理的假设;最后,通过对两款软件的实验来验证这4 个假设的有效性.  相似文献   

11.
构造具备自适应能力的软件   总被引:1,自引:0,他引:1  
丁博  王怀民  史殿习 《软件学报》2013,24(9):1981-2000
随着应用场景的变迁和自身复杂性的增长,软件需要具备主动适应环境变化的能力,能够依据环境变化动态调整其行为.软件自适应的实现技术跨越了软件监控、上下文敏感计算、决策和控制理论、软件演化和维护等多个学科分支,如何系统化地构造此类软件,是软件工程领域所面临的巨大挑战.从自适应软件构造与实现这一角度出发,以“感知-决策-执行”软件自适应基本周期为主线,对已有的研究和实践进行综述.给出软件自适应的概念内涵,概述软件自适应活动在感知、决策、执行各环节上的特征分类,阐述面向自适应软件构造、关注程度较高的一系列使能技术,进而在分析典型研究项目现状的基础上,给出自适应软件构造领域的未来主要研究趋势.  相似文献   

12.
基于构件运算的软件演化研究   总被引:3,自引:2,他引:1  
当前对软件构件的描述均采用图形加文本的方式或形式化描述语言,这些描述对构件的动态行为、互操作和演化特征方面的描述明显不足,无法系统科学地描述软件演化。针对该问题,文章引入用代数理论对构件的属性和行为特征进行抽象而提出的构件调用运算、协作运算和条件运算的新方法。对软件系统进行抽象化,把软件系统的演化归结为构件表达式的变化,利用代数理论对软件演化中构件的增加、删除、相互关系的修改进行系统研究,并给出将演化后的结果用图形方式表示的方法。  相似文献   

13.
There are many ideas in software design that are considered good practice. However, research is still needed to validate their contributions to software maintenance. This paper presents a method for examining software systems that have been actively maintained and used over the long term and are potential candidates for yielding lessons about design. The method relies on a criterion of stability and a definition of distance to flag design characteristics that have potentially contributed to long-term maintainability. It is demonstrated by application to an example of long-lived scientific software. The results from this demonstration show that the method can provide insight into the relative importance of individual elements of a set of design characteristics for the long-term evolution of software.  相似文献   

14.
Modern software systems are subject to a continuous evolution under frequently varying requirements and changes in systems’ operational environments. Lehman’s law of continuing change demands for long-living and continuously evolving software to prolong its productive life and economic value by accommodating changes in existing software. Reusable knowledge and practices have proven to be successful for continuous development and evolution of the software effectively and efficiently. However, challenges such as empirical acquisition and systematic application of the reusable knowledge and practices must be addressed to enable or enhance software evolution. We investigate architecture change logs — mining histories of architecture-centric software evolution — to discover change patterns that 1) support reusability of architectural changes and 2) enhance the efficiency of the architecture evolution process. We model architecture change logs as a graph and apply graph-based formalism (i.e., graph mining techniques) to discover software architecture change patterns. We have developed a prototype that enables tool-driven automation and user decision support during software evolution. We have used the ISO-IEC-9126 model to qualitatively evaluate the proposed solution. The evaluation results suggest that the proposed solution 1) enables the reusability of frequent architectural changes and 2) enhances the efficiency of architecture-centric software evolution process. The proposed solution promotes research efforts to exploit the history of architectural changes to empirically discover knowledge that can guide architecture-centric software evolution.  相似文献   

15.
随着国产化软硬件系统的发展和普及,将现行的计算程序适配到国产硬件和操作系统上是科学研究和业务化应用的关键,亟待探索提出专业计算模型的软硬件适配方法。现有关于专业计算模型的软硬件适配方法存在缺乏通用性、硬件依赖性强等问题。鉴于此,系统解析了国产化适配需要解决的关键问题,并对比了现行的软件适配技术,筛选出容器技术作为水文水动力模型的国产适配技术。容器技术可将应用程序打包成独立的运行环境,摆脱对底层架构和操作系统的依赖。以水文水动力模型TELEMAC为例,详细说明了Docker镜像构成原理,并通过Dockerfile文件构建了TELEMAC镜像环境,开展了计算案例的验证。结果表明TELEMAC镜像能够安全运行在以鲲鹏920处理器为核心的openEuler和麒麟V10等国产软硬件平台上,且案例计算结果与标准结果相一致,模型计算效率高,实现了专业科学计算模型的国产化软硬件适配,该研究可为其他软件国产化适配提供参考借鉴。  相似文献   

16.
软件服务的在线演化   总被引:2,自引:0,他引:2  
软件服务的在线演化技术是当前可信软件研究的一个重要方向,对于实现快速、低成本的成长式可信演化具有重要意义.与离线的演化技术相比,在线演化强调软件系统在结构修改和功能调整期间仍能够持续提供服务.文中在给出软件服务在线演化基本定义、归纳其结构模型和一般性过程模型基础上,提出涵盖演化范畴、演化类型和演化方式等方面的分类模型,...  相似文献   

17.
李刚  赵卓峰  韩燕波  梁英 《软件学报》2006,17(6):1372-1380
在企业及电子政务应用中,由资源分布异构及需求动态变化而产生的问题越来越严重,如何让应用快速适应这些变化一直是人们关注的一个研究难题.首先给出了一个面向服务的支持业务端编程的适应性软件结构框架CAFISE(convergent approach for information system evolution)Framework,然后给出了基于该框架的面向服务的适应性软件开发方法.CAFISE Framework对异构资源的服务化、业务化及开放动态的面向服务软件体系结构提供了较好的支持.基于该结构框架的开发方法,从对影响软件的环境要素分析入手,通过质量属性驱动的体系结构分析,重点针对应用要适应的变化进行结构设计,最终通过以体系结构为基础的业务端编程,实现面向服务应用的即时开发与演化.在实际项目中的使用及实验证明:用该框架和方法开发的面向服务应用,能够较好地适应异构资源的动态变化及用户业务变更,能以较低的代价实现企业及电子政务面向服务应用的持续演化.  相似文献   

18.
荣国平  张贺  邵栋  王青 《软件学报》2019,30(1):62-79
工程化软件开发需要对软件开发整个过程进行有效的组织和管理,由此产生了一系列软件开发组织和管理方法,其主要目的是形成一种载体,用以积累和传递关于软件开发的经验教训.然而,由于软件开发的一些天然特性(比如复杂性和不可见性)的存在,使得描述软件开发过程的软件开发与组织方法也天然地带着一定的抽象性.由此带来了很多概念上的误导和实践中的争论,影响了上述目的的达成.例如,对于究竟该如何选择和定义合适的软件开发过程以更好地满足某个特定项目的要求,目前仍然缺少可靠的手段.甚至有些面向工业界的调研报告表明:在实际软件项目开发中,过程改进(例如引入新的工具或者方法)的主要驱动力是佚闻.试图厘清软件组织与管理话题的若干核心概念,系统梳理软件组织和管理方法的特征,并且以软件发展的历史为主线,介绍软件组织与管理方法的历史沿革,整理出这种历史沿革背后的缘由.在此基础上,讨论和总结若干发现,以期为研究者和实践者提供参考.  相似文献   

19.
张锡哲  吕天阳  张斌 《软件学报》2016,27(2):231-246
随着分布式计算技术的发展,以自治的服务协同与互操作为主要构造手段、结构与行为随需而变的面向服务的软件系统已成为当前主流的软件架构,分析并理解服务交互行为对于这类复杂软件系统的开发、维护和运营具有重要意义.针对面向服务的软件系统中基本构成元素Web服务的复杂交互执行行为,考虑到服务自治性及系统规模化所带来的复杂性,借鉴复杂网络建模分析方法,提出了一种考虑服务行为特征的服务动态行为生长演化模型.模型首先以真实服务的服务结构数据为基础,以服务间参数关联关系为核心,通过参数匹配建立服务结构网络作为基本连通性约束,代表可能发生交互关系的服务.然后,基于服务间的择优选择、组合交互及动态重组等特性,对面向服务的软件系统生长演化及动态执行行为进行了仿真建模.在Seekda及QWS数据集上进行了仿真实验,结果表明:与传统的软件系统的层次性结构有所不同,由自治的Web服务所构成的软件系统具有更强的模块性;与系统中个体服务演化规则,如择优连接及动态重组相比,服务结构网络的性质对系统最终形态有更重要的影响,相关结果对大规模服务软件的构建及分析具有重要的指导意义.  相似文献   

20.
随着我国科学技术的不断发展,先进的计算机硬件和软件成为科研开发的主要工具。因此,加强计算机软件 和硬件的应用,尽可能提升其使用效率,对提高科研开发水平产生重要影响。本文从计算机软件及硬件特点入手,分析软硬件 资源共享实现机制, 讲述计算机软硬件资源共享实现方法。  相似文献   

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

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