English
Related papers

Related papers: Do the Test Smells Assertion Roulette and Eager Te…

200 papers

Unit testing is a commonly-used approach in software engineering to test the correctness and robustness of written code. Unit tests are tests designed to test small components of a codebase in isolation, such as an individual function or…

Software Engineering · Computer Science 2023-10-03 Vincent Li , Nick Doiron

Testing is an important aspect of software development, but unfortunately, it is often neglected. While test quality analyses such as code coverage or mutation analysis inform developers about the quality of their tests, such reports are…

Software Engineering · Computer Science 2023-10-18 Philipp Straubinger , Gordon Fraser

On-line experimentation (also known as A/B testing) has become an integral part of software development. To timely incorporate user feedback and continuously improve products, many software companies have adopted the culture of agile…

Applications · Statistics 2019-08-13 Yu Wang , Somit Gupta , Jiannan Lu , Ali Mahmoudzadeh , Sophia Liu

Communication is a crucial social factor in the success of software projects, as positively or negatively perceived statements can influence how recipients feel and affect team collaboration through emotional contagion. Whether a developer…

Software Engineering · Computer Science 2026-03-12 Martin Obaidi , Marc Herrmann , Jendrik Martensen , Jil Klünder , Kurt Schneider

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt…

Software Engineering · Computer Science 2021-03-23 Jacinto Ramirez Lahti , Antti-Pekka Tuovinen , Tommi Mikkonen

Providing effective feedback for programming assignments in computer science education can be challenging: students solve problems by iteratively submitting code, executing it, and using limited feedback from the compiler or the auto-grader…

Software Engineering · Computer Science 2025-05-01 Hasnain Heickal , Andrew Lan

A recurring problem in software development is incorrect decision making on the techniques, methods and tools to be used. Mostly, these decisions are based on developers' perceptions about them. A factor influencing people's perceptions is…

Software Engineering · Computer Science 2024-02-13 Sira Vegas , Patricia Riofrio , Esperanza Marcos , Natalia Juristo

Automated batch refactoring has become a de-facto mechanism to restructure software that may have significant design flaws negatively impacting the code quality and maintainability. Although automated batch refactoring techniques are known…

Software Engineering · Computer Science 2023-06-29 Asif Imran , Tevfik Kosar , Jaroslaw Zola , Muhammed Fatih Bulut

Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. Code that is unit tested should therefore have fewer failures associated with it.…

Software Engineering · Computer Science 2023-12-05 Efstathia Chioteli , Ioannis Batas , Diomidis Spinellis

The ubiquity of smartphones, and their very broad capabilities and usage, make the security of these devices tremendously important. Unfortunately, despite all progress in security and privacy mechanisms, vulnerabilities continue to…

Cryptography and Security · Computer Science 2020-06-03 Mohammad Ghafari , Pascal Gadient , Oscar Nierstrasz

Context: The quality of the test suites and the constituent test cases significantly impacts confidence in software testing. While research has identified several quality attributes of test cases and test suites, there is a need for a…

Software Engineering · Computer Science 2025-07-10 Huynh Khanh Vi Tran , Nauman bin Ali , Michael Unterkalmsteiner , Jürgen Börstler , Panagiota Chatzipetrou

Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case…

Software Engineering · Computer Science 2023-07-14 Daniel Lucrédio , Auri Marcelo Rizzo Vincenzi , Eduardo Santana de Almeida , Iftekhar Ahmed

Flaky tests are software tests that exhibit a seemingly random outcome (pass or fail) when run against the same, identical code. Previous work has examined fixes to flaky tests and has proposed automated solutions to locate as well as fix…

Software Engineering · Computer Science 2019-07-03 Moritz Eck , Fabio Palomba , Marco Castelluccio , Alberto Bacchelli

Software testing is an essential part of the software lifecycle and requires a substantial amount of time and effort. It has been estimated that software developers spend close to 50% of their time on testing the code they write. For these…

Software Engineering · Computer Science 2020-02-20 Cody Watson , Michele Tufano , Kevin Moran , Gabriele Bavota , Denys Poshyvanyk

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers…

Software Engineering · Computer Science 2021-03-24 Thomas Hirsch , Birgit Hofer

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using that data to improve the learning process. We added…

Programming Languages · Computer Science 2024-01-03 Will Crichton , Shriram Krishnamurthi

A type debugger interactively detects the expressions that cause type errors. It asks users whether they intend the types of identifiers to be those that the compiler inferred. However, it seems that novice programmers often get in trouble…

Programming Languages · Computer Science 2014-12-17 Yuki Ishii , Kenichi Asai

In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observations (what we know) and challenges (what we do not know)…

Software Engineering · Computer Science 2020-08-11 Guilherme Lacerda , Fabio Petrillo , Marcelo Pimenta , Yann Gael Gueheneuc

Context: Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both…

Software Engineering · Computer Science 2018-12-07 Vahid Garousi , Michael Felderer , Feyza Nur Kilicaslan

This paper reports an empirical study on refactoring activity in three Java software systems. We investigated some questions on refactoring activity, to confirm or disagree on conclusions that have been drawn from previous empirical…