基于软件仓库的源代码演化分析

被引量 : 0次 | 上传用户:ecnuzk2010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
源代码演化分析是软件开发与运维中版本升级的重要任务,其对代码级别变更控制的指导意义使它成为经验软件工程研究热点之一。本文基于软件仓库挖掘技术研究源代码演化规律,将源代码文件之间关联关系、文件与开发人员之间关联关系以及开发人员的版次提交结合在一起,分析源代码版次变更对后续开发的范围、时间以及开发人员的影响,找出其中规律并进行预测,以帮助软件演化计划的制定和软件开发过程的改进。结合源代码演化分析的特征,本文首先提出了基于软件仓库的源代码演化分析方法。其具体由六个步骤构成:选定数据源,抽取样本数据;初步分析,确定分析指标;数据抽取;数据预处理;核心分析步骤和数据可视化处理。接着,本文从以下三个维度研究提出源代码演化分析模型:1)变更在范围上的影响分析。结合源代码静态关联关系分析和源代码协同变更分析,提出了通过分析源代码复合关联关系,结合PageRank计算网络节点权重的算法,对源代码变更在范围上的影响程度进行描述。2)变更在时间上的影响分析。结合源代码复合关联关系,通过版次曲线和版次条形码辅助分析源代码演化在时间上的分布情况。3)变更对开发人员的影响分析。在源代码复合关联关系中加入开发人员节点,强调开发人员对源代码文件的拥有程度,生成新的复合关联关系,进行源代码变更执行者演化规律的分析。在此基础上,本文设计与实现了源代码演化自动分析工具SEAT,支持上述分析方法和分析模型,并选取GitHub上的8个开源项目进行案例研究,发现了一些有价值的规律:源代码变更会在复合关联关系图中进行传播,传播的趋势是从PageRank值高的节点向PageRank值低的节点。版次的变更规模越大,其对项目造成的扰动也就越大,使得项目需要更长的时间去恢复,从而导致了在时间分布上,变更规模大的版次前后出现Cool-DownPeriod的概率会高于正常版次。在需要进行代码变更时,源代码文件的主要拥有者会被优先考虑分配任务。在开源项目中,核心开发人员的行为对项目总体起到了决定性的影响,非核心开发人员的开发行为稳定性相比核心开发人员的开发行为稳定性弱,这也导致了行为规律性的降低,进而使得非核心开发人员行为的可预测性降低。
其他文献
金湘是一位在当代中国有一定影响力的作曲家,《子夜四时歌》是作曲家金湘在二十世纪八十年代创作的,这部作品也是采用声乐套曲体裁创作的古诗词艺术歌曲,在古诗词艺术歌曲领域具
国内各地区在近几年确定了多处历史文化街区。对于历史文化街区的旅游开发不仅是对历史文化街区文化的一种传承与发扬,同时开发所带来的资金,也使得历史文化街区能够得到后续
全张量探测技术以其信息量大、精度高、干扰小等优点在地球物理领域中得到广泛应用.本文提出采用张量局部波数法来进行位场全张量数据的解释,首先给出了张量局部波数的定义,
双出杆孔隙式粘滞流体阻尼器是一种减振装置。结构振动时,流体阻尼器产生阻尼力耗散能量,降低结构在共振频率附近的动态响应,减弱节点的局部受力和变形量,保护结构免受破坏。通常
随着市场竞争的加剧,客户资源的争夺将是汽车制造企业获得生存和发展的一个重要因素。鉴于当前产品同质化及竞争扁平化趋势,使用数据挖掘可以使CRM取得较高的投资回报,成为企
我国实施《政府采购法》仅有12年,但政府采购制度对我国财政的发展却起到了至关重要的作用,比如:提高了财政资金的使用效益,使我国财政政策的功能得到了充分的发挥。而在这巨大的
<正>为了更好地服务"三农",提升县域金融活力,村镇银行可以借鉴他山之石,探索可持续发展路径从2007年第一家村镇银行在四川落户,历经8年发展布局,目前全国村镇银行数量已突破
言论自由是宪法赋予公民的一项最基本的权利,是人类社会发展史上的一个永恒的话题。网络言论自由是言论自由的一种表现形式,网络的广泛性、平等性、匿名性和互动性,极大地促进了
《企业会计准则》以公允价值作为交易性金融资产的计量标准,充分考虑了交易性金融资产的交易性目的、持有期间一般较短且持有期间不确定、变相能力强和流动性好等特征,为交易