根据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)动态特征代码在维护活动中既有积极作用,也有消极作用。我们的结果为改进自动程序修复和重构工具提供了有用的指导和见解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
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
期刊最新文献
An Induction to the Development of Software Quality Model Standards Mutual Exclusion Verification of Peterson's Solution in Isabelle/HOL Reliability Analysis of Drilling Mud Pump Pressure Cylinder Hydraulic System A Search Based Context-Aware Approach for Understanding and Localizing the Fault via Weighted Call Graph Applying Software Defined Methodologies to Software Computing
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1