Home
What’s new
The Toilet PaperThe pricey bill of technical debt: When and by whom will it be paid? (2017)

Trade-offs are made in software development every day. One of these is the choice between quick solutions and better – but also more expensive – solutions. Bad choices may result in technical debt, which leads to more costs down the road. Besker, Martini, and Bosch report on the height of these costs and their causes.
The Toilet PaperOn the usage of Pythonic idioms (2018)

Design patterns are conventions that make it easier to communicate and reason about commonly occurring problems and their solutions. The Python community takes the idea of using conventions one step further, and argues that code should be “Pythonic”. Alexandru et al. explore what that means in practice.
The Toilet PaperEmpirical study on the relationship between developer’s working habits and efficiency (2018)

There’s plenty of evidence that suggests that working long or late hours is neither good for you nor your productivity, but that doesn’t stop most developers from doing it anyway. Rodriguez, Tanaka, and Kamei analysed the actual working habits of software developers and the effect that these habits have on their efficiency.
The Toilet PaperDo programmers work at night or during the weekend? (2018)

It’s often thought that programmers have very irregular working hours compared to those of the general population. Claes, Mäntylä, Kuutila, and Adams analysed commit data from 86 large software projects and found that this isn’t actually the case – for most programmers.
The Toilet PaperJIT feedback – what experienced developers like about static analysis (2018)

Running static analysis tools in an integrated development environment is like having a peer next to you that continuously reviews and criticises your code. Tymchuk, Ghafari, and Nierstrasz studied whether and why developers think these tools are helpful.
The Toilet PaperMicro-clones in evolving software (2018)

Codebases often contain code clones: code fragments that are very similar or even completely identical to each other. Until now, only larger clones have been studied thoroughly – not much is known about micro-clones, which are only 1–4 lines of code. Mondai, Roy, and Schneider show that these micro-clones are quite widespread.
The Toilet PaperDeep code comment generation (2018)

Machine learning models can be used to find relevant code snippets for a natural language description. Does that mean we can also do the opposite and predict natural language descriptions for code snippets that lack comments? Hu, Li, Xia, Lo, and Jin designed a model that does just that.
The Toilet PaperDeep code search (2018)

Text search is something that (mostly) “just works”, but the same can’t be said of code search. Gu, Zhang, and Kim present a deep neural network that can be used to retrieve code snippets based on natural language queries and a proof-of-concept application that demonstrates the feasibility of this approach.
The Toilet PaperLoud and interactive paper prototyping in requirements elicitation: What is it good for? (2018)

Paper prototyping can be used to elicit requirements for user-facing applications or evaluate user interface designs. There are several ways to do paper protoyping. Shakeri, Moazzam, Lo, Lan, Frroku, and Kim investigated how interactive and “loud” paper prototyping can be combined to achieve better results.
The Toilet PaperLearning from mistakes: An empirical study of elicitation interviews performed by novices (2018)

Interviewing is one of the most versatile tools for requirements elicitation. Sadly, it’s also notoriously hard to master. Bano, Zowghi, Ferrari, Spoletini, and Donati studied interviews conducted by postgraduate students, and categorised the different types of interviewing mistakes that one should avoid.
The Toilet PaperAre developers aware of the architectural impact of their changes? (2017)

Architecturally clean systems are easier to maintain. Changes to a system therefore shouldn’t degrade its architecture. Paixao, Krinke, Han, Ragkhitwetsagul, and Harman studied four large projects to better understand whether and how developers take the system’s architecture into account when making changes.
The Toilet PaperAre code examples on an online Q&A forum reliable? A study of API misuse on Stack Overflow (2018)

Many posts on Stack Overflow contain code snippets that show how a library can be used to achieve a certain task. Zhang, Upadhyaya, Reinhardt, Rajan, and Kim mined GitHub for API usage “best practices” and conclude that it’s probably not a good idea to reuse online code snippets verbatim.