REFERENCES
Abid, S., Abdul Basit, H., and Arshad, N. (2015). Reflec-
tions on teaching refactoring: A tale of two projects.
In Proceedings of the 2015 ACM Conference on Inno-
vation and Technology in Computer Science Educa-
tion, pages 225–230. ACM.
Ajax.org (2019). AceEditor. https://ace.c9.io/ [March 21,
2019].
Alves, N. S., Mendes, T. S., de Mendonc¸a, M. G., Sp
´
ınola,
R. O., Shull, F., and Seaman, C. (2016). Identifica-
tion and management of technical debt: A systematic
mapping study. Information and Software Technology,
70:100–121.
Argyris, C. (1977). Double loop learning in organizations.
Harvard business review, 55(5):115–125.
Arisholm, E., Briand, L. C., Hove, S. E., and Labiche, Y.
(2006). The impact of UML documentation on soft-
ware maintenance: An experimental evaluation. IEEE
Transactions on Software Engineering, 32(6):365–
381.
Beck, K. (2003). Test-driven development: by example.
Addison-Wesley Professional.
Bloom, B. S. et al. (1956). Taxonomy of educational objec-
tives. vol. 1: Cognitive domain. New York: McKay,
pages 20–24.
Campbell, G. and Papapetrou, P. P. (2013). SonarQube in
action (In Action series). Manning Publications Co.
Ca
˜
nas, J. J., Bajo, M. T., and Gonzalvo, P. (1994). Men-
tal models and computer programming. International
Journal of Human-Computer Studies, 40(5):795–811.
CoderGears (2018). JArchitect. [March 21, 2019].
Elezi, L., Sali, S., Demeyer, S., Murgia, A., and P
´
erez, J.
(2016). A game of refactoring: Studying the impact of
gamification in software refactoring. In Proceedings
of the Scientific Workshop Proceedings of XP2016,
page 23. ACM.
Fernandes, E., Oliveira, J., Vale, G., Paiva, T., and
Figueiredo, E. (2016). A review-based comparative
study of bad smell detection tools. In Proceedings of
the 20th International Conference on Evaluation and
Assessment in Software Engineering, page 18. ACM.
Fontana, F. A., Braione, P., and Zanoni, M. (2012). Auto-
matic detection of bad smells in code: An experimen-
tal assessment. J. Object Technology, 11(2):5–1.
Fontana, F. A., Dietrich, J., Walter, B., Yamashita, A., and
Zanoni, M. (2016). Antipattern and code smell false
positives: Preliminary conceptualization and classi-
fication. In Proc. of 23rd International Conference
on Software Analysis, Evolution, and Reengineering
(SANER 2016), volume 1, pages 609–613. IEEE.
Forman, I. R. and Forman, N. (2004). Java Reflection in
Action (In Action series). Manning Publications Co.
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts,
D. (1999). Refactoring: improving the design of exist-
ing code. Addison-Wesley Professional.
Gamma, E., Beck, K., et al. (1999). JUnit: A cook’s tour.
Java Report, 4(5):27–38.
George, C. E. (2000). Experiences with novices: The im-
portance of graphical representations in supporting
mental models. In Proc. of 12 th Workshop of the Psy-
chology of Programming Interest Group (PPIG 2000),
pages 33–44.
Haendler, T. (2018). On using UML diagrams to identify
and assess software design smells. In Proc. of the
13th International Conference on Software Technolo-
gies, pages 413–421. SciTePress.
Haendler, T. and Frysak, J. (2018). Deconstructing
the refactoring process from a problem-solving and
decision-making perspective. In Proc. of the 13th
International Conference on Software Technologies,
pages 363–372. SciTePress.
Haendler, T. and Neumann, G. (2019). Serious refactor-
ing games. In Proc. of the 52nd Hawaii International
Conference on System Sciences, pages 7691–7700.
Haendler, T., Sobernig, S., and Strembeck, M. (2015).
Deriving tailored UML interaction models from
scenario-based runtime tests. In International Con-
ference on Software Technologies, pages 326–348.
Springer.
Haendler, T., Sobernig, S., and Strembeck, M. (2017). To-
wards triaging code-smell candidates via runtime sce-
narios and method-call dependencies. In Proceed-
ings of the XP2017 Scientific Workshops, pages 8:1–9.
ACM.
IMS Global Consortium (2003). IMS simple sequencing
best practice and implementation guide. Final specifi-
cation, March.
K
¨
olling, M., Quig, B., Patterson, A., and Rosenberg, J.
(2003). The BlueJ system and its pedagogy. Com-
puter Science Education, 13(4):249–268.
Kollmann, R., Selonen, P., Stroulia, E., Systa, T., and Zun-
dorf, A. (2002). A study on the current state of the art
in tool-supported UML-based static reverse engineer-
ing. In Ninth Working Conference on Reverse Engi-
neering, 2002. Proceedings., pages 22–32. IEEE.
Krathwohl, D. R. (2002). A revision of bloom’s taxonomy:
An overview. Theory into practice, 41(4):212–218.
Kruchten, P., Nord, R. L., and Ozkaya, I. (2012). Technical
debt: From metaphor to theory and practice. IEEE
software, 29(6):18–21.
Kruchten, P. B. (1995). The 4+1 view model of architecture.
IEEE software, 12(6):42–50.
L
´
opez, C., Alonso, J. M., Marticorena, R., and Maudes,
J. M. (2014). Design of e-activities for the learning
of code refactoring tasks. In Computers in Education
(SIIE), 2014 International Symposium on, pages 35–
40. IEEE.
Martini, A., Bosch, J., and Chaudron, M. (2014). Architec-
ture technical debt: Understanding causes and a quali-
tative model. In 2014 40th EUROMICRO Conference
on Software Engineering and Advanced Applications,
pages 85–92. IEEE.
Moha, N., Gueheneuc, Y.-G., Duchien, L., and Le Meur,
A.-F. (2010). Decor: A method for the specification
and detection of code and design smells. IEEE Trans-
actions on Software Engineering, 36(1):20–36.
An Interactive Tutoring System for Training Software Refactoring
187