arrow
返回

A unified framework for declarative debugging and testing

delete2021-01-01
delete1
PRE
AI
R
Rafael Caballero
E
Enrique Martin-Martin *
A
Adrián Riesco
S
Salvador Tamarit
DOI:10.1016/j.infsof.2020.106427delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Context: Debugging is the most challenging and time consuming task in software development. However, it is not properly integrated in the software development cycle, because the result of so much effort is not available in further iterations of the cycle, and the debugging process itself does not benefit from the outcome of other phases such as testing. Objective: We propose to integrate debugging and testing within a single unified framework where each phase generates useful information for the other and the outcomes of each phase are reused. Method: We consider a declarative debugging setting that employs tests to automatically entail the validity of some subcomputations, thus decreasing the time and effort needed to find a bug. Additionally, the debugger stores as new tests the information collected from the user during the debugging phase. This information becomes part of the program test suite, and can be used in future debugging sessions, and also as regression tests. Results: We define a general framework where declarative debugging establishes a bidirectional collaboration with testing. The new setting preserves the properties of the underlying declarative debugging framework (weak completeness and soundness) while generating test cases that can be used later in other debugging sessions or even in other cycles of the software development. The proposed framework is general enough to be instantiated to very different programming languages: Erlang (functional), Java (imperative, object-oriented), and SQL (data query); and the experimental results obtained for Erlang programs validate the effectiveness of the framework. Conclusion: We propose a general unified framework for debugging and testing that simplifies each phase and maximizes the reusability of the outcomes in the different phases of the software development cycle, therefore reducing the overall effort.
Keyword:
Property-based testing
Unit testing
Declarative debugging
Unified framework
AI总结

AI总结

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

期刊

Information and Software Technology 封面图
Information and Software Technology
IF:
4.3
论文数:
3.8K
被引数:
7.7K

机构

C
Complutense University of Madrid
学者数:
2.6W
论文数: 2.2W
被引数: 31
U
Universitat Politecnica de Valencia
学者数:
1.5W
论文数: 1.4W
被引数: 18
引用论文

引用论文

A Survey of Algorithmic Debugging算法调试综述
err2017-08-30
err23
errOAAI
errCaballero, Rafael; Riesco, Adrian; Silva, Josep
err分享
err收藏
err分享
err收藏
Pollutant Gases Detection using the Machine learning on Benchmark Research Datasets
err2019-01-01
err0
errOAAI
errJambi Ratna Raja Kumar; Rahul K. Pandey; Biplab K. Sarkar
err分享
err收藏
err分享
err收藏
The Oracle Problem in Software Testing: A Survey软件测试中的Oracle问题: 调查
err2015-05-01
err665
errOAAI
errBarr, Earl T.; Harman, Mark; McMinn, Phil; Shahbaz, Muzammil; Yoo, Shin
err分享
err收藏
Statistical debugging: A hypothesis testing-based approach
err2006-10-01
err230
PREAI
errLiu, Chao; Fei, Long; Yan, Xifeng; Han, Jiawei; Midkiff, Samuel P.
err分享
err收藏
学者 查看更多内容