arrow
返回

Using acceptance tests to predict files changed by programming tasks

delete2019-08-01
delete11
PRE
AI
T
Thaís Rocha *
P
Paulo Borba
J
João Santos
DOI:10.1016/j.jss.2019.04.060delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
In a collaborative development context, conflicting code changes might compromise software quality and developers productivity. To reduce conflicts, one could avoid the parallel execution of potentially conflicting tasks. Although hopeful, this strategy is challenging because it relies on the prediction of the required file changes to complete a task. As predicting such file changes is hard, we investigate its feasibility for BDD (Behaviour-Driven Development) projects, which write automated acceptance tests before implementing features. We develop a tool that, for a given task, statically analyzes Cucumber tests and infers test-based interfaces (files that could be executed by the tests), approximating files that would be changed by the task. To assess the accuracy of this approximation, we measure precision and recall of test-based interfaces of 513 tasks from 18 Rails projects on GitHub. We also compare such interfaces with randomly defined interfaces, interfaces obtained by textual similarity of test specifications with past tasks, and interfaces computed by executing tests. Our results give evidence that, in the specific context of BDD, Cucumber tests might help to predict files changed by tasks. We find that the better the test coverage, the better the predictive power. A hybrid approach for computing test-based interfaces is promising. (C) 2019 Elsevier Inc. All rights reserved.
Keyword:
Collaborative development
Task scheduling
Behaviour-driven development
File change prediction
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Journal of Systems and Software 封面图
Journal of Systems and Software
IF:
4.1
论文数:
5.5K
被引数:
8.4K

机构

U
Universidade Federal de Pernambuco
学者数:
1.3W
论文数: 7.3K
被引数: 5.3K
引用论文

引用论文

Early Detection of Collaboration Conflicts and Risks
err2013-10-01
err66
errOAAI
errBrun, Yuriy; Holmes, Reid; Ernst, Michael D.; Notkin, David
err分享
err收藏
The daily stand-up meeting: A grounded theory study
err2016-04-01
err87
PREAI
errStray, Viktoria; Sjoberg, Dag I. K.; Dyba, Tore
err分享
err收藏
err分享
err收藏
err分享
err收藏
Dynamic Software Project Scheduling through a Proactive-Rescheduling Method
err2016-07-01
err47
errOAAI
errShen, Xiaoning; Minku, Leandro L.; Bahsoon, Rami; Yao, Xin
err分享
err收藏
Predicting source code changes by mining change history
err2004-09-01
err359
errOAAI
errYing, ATT; Murphy, GC; Ng, R; Chu-Carroll, MC
err分享
err收藏
The Case for Context-Driven Software Engineering Research Generalizability Is Overrated
err2017-01-01
err91
errOAAI
errBriand, Lionel; Bianculli, Domenico; Nejati, Shiva; Pastore, Fabrizio; Sabetzadeh, Mehrdad
err分享
err收藏
Phylogenetic patterns and the adaptive evolution of osmoregulation in fiddler crabs (Brachyura, Uca)
err2017-02-09
err0
errOAAI
errSamuel Coelho Faria; Diogo Borges Provete; Carl Leo Thurman; John Campbell McNamara
err分享
err收藏
err分享
err收藏
学者 查看更多内容