根据Python软件演进跟踪动态特性代码变更

Zhifei Chen, Wanwangying Ma, Wei Lin, Lin Chen, Baowen Xu
{"title":"根据Python软件演进跟踪动态特性代码变更","authors":"Zhifei Chen, Wanwangying Ma, Wei Lin, Lin Chen, Baowen Xu","doi":"10.1109/TSA.2016.19","DOIUrl":null,"url":null,"abstract":"Python, a typical dynamic programming language, is increasingly used in many application domains. Dynamic features in Python allow developers to change the code at runtime. Some dynamic features such as dynamic type checking play an active part in maintenance activities, thus dynamic feature code is often changed to cater to software evolution. The aim of this paper is exploring and validating the characteristics of feature changes in Python. We collected change occurrences in 85 open-source projects and discovered the relationship between feature changes and bug-fix activities. Furthermore, we went into 358 change occurrences to explore the causes and behaviors of feature changes. The results show that: (1) dynamic features are increasingly used and the code is changeable; (2) most dynamic features may behave that feature code is more likely to be changed in bug-fix activities than non-bugfix activities; (3) dynamic feature code plays both positive and negative roles in maintenance activities. Our results provide useful guidance and insights for improving automatic program repair and refactoring tools.","PeriodicalId":114541,"journal":{"name":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","volume":"240 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Tracking Down Dynamic Feature Code Changes against Python Software Evolution\",\"authors\":\"Zhifei Chen, Wanwangying Ma, Wei Lin, Lin Chen, Baowen Xu\",\"doi\":\"10.1109/TSA.2016.19\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Python, a typical dynamic programming language, is increasingly used in many application domains. Dynamic features in Python allow developers to change the code at runtime. Some dynamic features such as dynamic type checking play an active part in maintenance activities, thus dynamic feature code is often changed to cater to software evolution. The aim of this paper is exploring and validating the characteristics of feature changes in Python. We collected change occurrences in 85 open-source projects and discovered the relationship between feature changes and bug-fix activities. Furthermore, we went into 358 change occurrences to explore the causes and behaviors of feature changes. The results show that: (1) dynamic features are increasingly used and the code is changeable; (2) most dynamic features may behave that feature code is more likely to be changed in bug-fix activities than non-bugfix activities; (3) dynamic feature code plays both positive and negative roles in maintenance activities. Our results provide useful guidance and insights for improving automatic program repair and refactoring tools.\",\"PeriodicalId\":114541,\"journal\":{\"name\":\"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)\",\"volume\":\"240 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/TSA.2016.19\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TSA.2016.19","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

Python是一种典型的动态编程语言,越来越多地应用于许多应用领域。Python中的动态特性允许开发人员在运行时更改代码。一些动态特性(如动态类型检查)在维护活动中起着积极的作用,因此动态特性代码经常被更改以适应软件的发展。本文的目的是探索和验证Python中特性变化的特征。我们收集了85个开源项目中发生的变更,并发现了特性变更和bug修复活动之间的关系。此外,我们深入研究了358个变化事件,以探讨特征变化的原因和行为。结果表明:(1)动态特征的使用越来越多,编码变化较大;(2)大多数动态特性可能表现为特性代码在bug修复活动中比在非bug修复活动中更有可能被更改;(3)动态特征代码在维护活动中既有积极作用,也有消极作用。我们的结果为改进自动程序修复和重构工具提供了有用的指导和见解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Tracking Down Dynamic Feature Code Changes against Python Software Evolution
Python, a typical dynamic programming language, is increasingly used in many application domains. Dynamic features in Python allow developers to change the code at runtime. Some dynamic features such as dynamic type checking play an active part in maintenance activities, thus dynamic feature code is often changed to cater to software evolution. The aim of this paper is exploring and validating the characteristics of feature changes in Python. We collected change occurrences in 85 open-source projects and discovered the relationship between feature changes and bug-fix activities. Furthermore, we went into 358 change occurrences to explore the causes and behaviors of feature changes. The results show that: (1) dynamic features are increasingly used and the code is changeable; (2) most dynamic features may behave that feature code is more likely to be changed in bug-fix activities than non-bugfix activities; (3) dynamic feature code plays both positive and negative roles in maintenance activities. Our results provide useful guidance and insights for improving automatic program repair and refactoring tools.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信