Kamil Sijko

dblp:320/9145 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2022
—ORCID · unresolved

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Software testing · 62% Empirical software engineering · 38%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
test-driven development
0.612022
Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial Project · IEEE Trans. Software Eng. 2022
Empirical software engineering › developer studies
developer expertise
0.212022
Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial Project · IEEE Trans. Software Eng. 2022
Empirical software engineering
developer studies
0.212022
Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial Project · IEEE Trans. Software Eng. 2022

Methods — techniques the papers use, named apart from their topics

randomized within-subjects experiment · 0.6process conformance verification · 0.6
YearPublicationVenuePosition
2022 Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial Project
abstract
Context: There is still little evidence on differences between Test-Driven Development and Test-Last Development, especially for real-world projects, so their impact on code/test quality is an ongoing research trend. An empirical comparison is presented, with 19 participants working on an industrial project developed for an energy market software company, implementing real-world requirements for one of the company's customers.Objective:Examine the impact of TDD and TLD on quality of the code and the tests. The aim is to evaluate if there is a significant difference in external code quality and test quality between these techniques.Method:The experiment is based on a randomized within-subjects block design, with participants working for three months on the same requirements using different techniques, changed from week to week, within three different competence blocks: Intermediate, Novice and Mixed. The resulting code was verified for process conformance. The participants developed only business logic and were separated from infrastructural concerns. A separate group of code repositories was used to work without unit tests, to verify that the requirements were not too easy for the participants. Also, it was analysed if there is any difference between the code created by shared efforts of developers with different competences and the code created by participants isolated in the competence blocks. The resulting implementations had LOC order of magnitude of 10k.Results:Statistically significant advantage of TDD in terms of external code quality (1.8 fewer bugs) and test quality (5 percentage points higher) than TLD. Additionally, TDD narrows the gap in code coverage between developers from different competence blocks. At the same time, TDD proved to have a considerable entry barrier and was hard to follow strictly, especially by Novices. Still, no significant difference w.r.t. code coverage has been observed between the Intermediate and the Novice developers - as opposed to TLD, which was easier to follow. Lastly, isolating the Intermediate developers from the Novices had significant impact on the code quality.Conclusion:TDD is a recommended technique for software projects with a long horizon or when it is critical to minimize the number of bugs and achieve high code coverage.
Bartosz Papis, Konrad Grochowski, Kamil Subzda, Kamil Sijko
IEEE Trans. Software Eng.4