6 CONCLUSION
A refactoring bot was developed in the past to over-
come the drawbacks of removing code smells manu-
ally and to make the process more efficient and effec-
tive. As similar bots did not always meet with high
acceptance in the context of software engineering and
since we have little qualitative knowledge about the
perception and acceptance of development bots in
general, we conducted a qualitative study deploying
a refactoring bot to investigate how it is perceived and
accepted in a software development team.
In semi-structured interviews we found that the
bot is perceived as a useful and unobtrusive contribu-
tor. Its contributions are not reviewed more critically
than those of human developers but are more inten-
sively analyzed for logical errors. Although all team
members intend to continue using the bot, only a few
felt responsible for it during the study.
The results have implications for the design of
bots to ensure their successful use. Even a useful bot
will be ignored if its perceived benefit for the indi-
vidual is not great enough and there is a diffusion of
responsibility in the team. Developers accept bots,
but they must be smart and adapted to the context and
process of the development team.
Future work could explore which context vari-
ables predict the acceptance of a bot and investigate
more bots qualitatively. Their long-term use should
be investigated along with how the developers’ per-
ception changes over time. In the context of refac-
toring bots, the effects of proposing more complex
and diverse refactorings on the behavior of developers
should be studied. The findings would also be of in-
terest to other maintenance bots which regularly pro-
pose very similar changes, possibly leading to a kind
of review blindness. Finally, the results can be un-
derstood as an indication that people appreciated that
a socially unpleasant task was taken over by the bot,
which was to remind people that code quality needs
to be improved. It would be interesting to further ex-
plore the potential of this type of bot contribution.
REFERENCES
Avgeriou, P., Kruchten, P., Ozkaya, I., Seaman, C., and Sea-
man, C. (2016). Managing Technical Debt in Software
Engineering. Dagstuhl Reports, 6(4):110–138.
Bavota, G., De Carluccio, B., De Lucia, A., Di Penta, M.,
Oliveto, R., and Strollo, O. (2012). When Does a
Refactoring Induce Bugs? An Empirical Study. In
2012 IEEE 12th International Working Conference on
Source Code Analysis and Manipulation, pages 104–
113. IEEE.
Ford, D., Behroozi, M., Serebrenik, A., and Parnin, C.
(2019). Beyond the code itself: How programmers
really look at pull requests. In Proceedings of the
41st International Conference on Software Engineer-
ing: Software Engineering in Society, ICSE-SEIS ’19,
pages 51–60, Piscataway, NJ, USA. IEEE Press.
Fowler, M. (1999). Refactoring: Improving the Design of
Existing Code. Addison-Wesley Reading.
Kassin, S., Fein, S., Markus, H. R., McBain, K. A., and
Williams, L. (2019). Social Psychology Australian &
New Zealand Edition. Cengage AU.
Kim, M., Cai, D., and Kim, S. (2011). An empirical inves-
tigation into the role of API-level refactorings during
software evolution. In Proceeding of the 33rd interna-
tional conference on Software engineering - ICSE ’11,
page 151, New York, New York, USA. ACM Press.
Kim, M., Zimmermann, T., and Nagappan, N. (2012). A
field study of refactoring challenges and benefits. In
Proceedings of the ACM SIGSOFT 20th International
Symposium on the Foundations of Software Engineer-
ing - FSE ’12, volume 3, page 1, New York, New
York, USA. ACM Press.
Marcilio, D., Furia, C. A., Bonifcio, R., and Pinto, G.
(2019). Automatically generating fix suggestions in
response to static code analysis warnings. 19th SCAM.
Moser, R., Abrahamsson, P., Pedrycz, W., Sillitti, A., and
Succi, G. (2008). A Case Study on the Impact of
Refactoring on Quality and Productivity in an Agile
Team. In Balancing Agility and Formalism in Soft-
ware Engineering, pages 252–266. Springer Berlin
Heidelberg.
Murgia, A., Janssens, D., Demeyer, S., and Vasilescu, B.
(2016). Among the Machines: Human-Bot Interac-
tion on Social Q&A Websites. In Proceedings of the
2016 CHI Conference Extended Abstracts on Human
Factors in Computing Systems - CHI EA ’16, pages
1272–1279, New York, New York, USA. ACM Press.
Spence, P. R., Westerman, D., Edwards, C., and Edwards,
A. (2014). Welcoming our robot overlords: Initial ex-
pectations about interaction with a robot. Communi-
cation Research Reports, 31(3):272–280.
Terrell, J., Kofink, A., Middleton, J., Rainear, C., Murphy-
Hill, E., Parnin, C., and Stallings, J. (2017). Gender
differences and bias in open source: Pull request ac-
ceptance of women versus men. PeerJ Computer Sci-
ence, 3:e111.
Wessel, M., de Souza, B. M., Steinmacher, I., Wiese,
I. S., Polato, I., Chaves, A. P., and Gerosa, M. A.
(2018). The Power of Bots: Understanding Bots in
OSS Projects. Proceedings of the ACM on Human-
Computer Interaction, 2(CSCW):1–19.
Wyrich, M. and Bogner, J. (2019). Towards an autonomous
bot for automatic source code refactoring. In Pro-
ceedings of the 1st International Workshop on Bots in
Software Engineering, BotSE ’19, pages 24–28, Pis-
cataway, NJ, USA. IEEE Press.
Yamashita, A. and Moonen, L. (2013). Do developers
care about code smells? An exploratory survey. In
2013 20th Working Conference on Reverse Engineer-
ing (WCRE), pages 242–251. IEEE.
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
310