Smellware: Olfactory Feedback for Code Smell in Software Development
Evelyn Yu-Ting Tsai, Derick Hsieh · 2012
Code smells are hints that imply the software might have potentially deeper problems than what is visible or present. The purpose of Smellware is to motivate programmers to implement consistent and effective coding styles by detecting code smells and informing users of such violations. There are tools that send visual or auditory feedbacks to the user developed for detecting code smells. However, visual and auditory feedbacks are easy to overlook and the developers are not always inclined to remove code smells. To reinforce the feedback mechanism, Smellware communicates with the user using both olfactory and visual feedbacks. Smellware is designed to check for code smells in source codes written in Java for the current release, and can be upgraded for other programming languages or as a plug-in for Java IDE’s in the future. The hardware of Smellware consists of 2 different odour dispensers and a fan. The dispensers emit odours when code smell errors are detected and the fan cleans the surrounding air when all code smells are fixed. More than 80% of Smellware participants find that Smellware can mitigate the number of code smell errors they make in their final product.