M. (2019). On the impact of refactoring on the re-
lationship between quality attributes and design met-
rics. In 2019 ACM/IEEE International Symposium
on Empirical Software Engineering and Measurement
(ESEM), pages 1–11. IEEE.
Alshayeb, M. (2009). Empirical investigation of refactoring
effect on software quality. Information and software
technology, 51(9):1319–1326.
Baqais, A. A. B. and Alshayeb, M. (2020). Automatic soft-
ware refactoring: a systematic literature review. Soft-
ware Quality Journal, 28(2):459–502.
Briggs, R. O. and Nunamaker, J. F. (2020). The growing
complexity of enterprise software.
Chandler, P. and Sweller, J. (1991). Cognitive load theory
and the format of instruction. Cognition and instruc-
tion, 8(4):293–332.
Clarke, P., O’Connor, R. V., and Leavy, B. (2016). A com-
plexity theory viewpoint on the software development
process and situational context. In Proceedings of
the International Conference on Software and Systems
Process, pages 86–90.
Cockburn, A. (2005). Hexagonal architecture. https://
alistair.cockburn.us/hexagonal-architecture/. [Online;
accessed 2 August 2020].
Duran, R., Sorva, J., and Leite, S. (2018). Towards an anal-
ysis of program complexity from a cognitive perspec-
tive. In Proceedings of the 2018 ACM Conference on
International Computing Education Research, pages
21–30.
Dyer, R., Nguyen, H. A., Rajan, H., and Nguyen, T. N.
(2013). Boa: A language and infrastructure for ana-
lyzing ultra-large-scale software repositories. In 2013
35th International Conference on Software Engineer-
ing (ICSE), pages 422–431. IEEE.
Evans, E. (2004). Domain-driven design: tackling complex-
ity in the heart of software. Addison-Wesley Profes-
sional.
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts,
D. (1999). Refactoring: improving the design of ex-
isting code, ser. In Addison Wesley object technology
series. Addison-Wesley.
Gonc¸ales, L., Farias, K., da Silva, B., and Fessler, J. (2019).
Measuring the cognitive load of software developers:
a systematic mapping study. In 2019 IEEE/ACM 27th
International Conference on Program Comprehension
(ICPC), pages 42–52. IEEE.
Kabbur, P. K., Mani, V., and Schuelein, J. (2020). Prioritiz-
ing trust in a globally distributed software engineer-
ing team to overcome complexity and make releases a
non-event. In Proceedings of the 15th International
Conference on Global Software Engineering, pages
66–70.
Kataoka, Y., Imai, T., Andou, H., and Fukaya, T. (2002).
A quantitative evaluation of maintainability enhance-
ment by refactoring. In International Conference
on Software Maintenance, 2002. Proceedings., pages
576–585. IEEE.
Martin, R. C. (2000). Design principles and design patterns.
Object Mentor, 1(34):597.
Martin, R. C. (2018). Clean architecture: a craftsman’s
guide to software structure and design. Prentice Hall.
McCabe, T. J. (1976). A complexity measure. IEEE Trans-
actions on software Engineering, (4):308–320.
Miller, G. A. (1956). The magical number seven, plus or
minus two: Some limits on our capacity for processing
information. Psychological review, 63(2):81.
Misra, S., Adewumi, A., Fernandez-Sanz, L., and Damase-
vicius, R. (2018). A suite of object oriented cognitive
complexity metrics. IEEE Access, 6:8782–8796.
Mu
˜
noz Bar
´
on, M., Wyrich, M., and Wagner, S. (2020). An
empirical validation of cognitive complexity as a mea-
sure of source code understandability. In Proceed-
ings of the 14th ACM/IEEE International Symposium
on Empirical Software Engineering and Measurement
(ESEM), pages 1–12.
Pawade, D., Dave, D. J., and Kamath, A. (2016). Explor-
ing software complexity metric from procedure ori-
ented to object oriented. In 2016 6th International
Conference-Cloud System and Big Data Engineering
(Confluence), pages 630–634. IEEE.
Pirsig, R. M. (1999). Zen and the art of motorcycle mainte-
nance: An inquiry into values. Random House.
Shao, J. and Wang, Y. (2003). A new measure of soft-
ware complexity based on cognitive weights. Cana-
dian Journal of Electrical and Computer Engineering,
28(2):69–74.
Shepperd, M. (1988). A critique of cyclomatic complexity
as a software metric. Software Engineering Journal,
3(2):30–36.
Souza, A. L. O. T. d. and Pinto, V. H. S. C. (2020). Toward
a definition of cognitive-driven development. In Pro-
ceedings of 36th IEEE International Conference on
Software Maintenance and Evolution (ICSME), pages
776–778.
Sweller, J. (1988). Cognitive load during problem solving:
Effects on learning. Cognitive science, 12(2):257–
285.
Sweller, J. (2010). Cognitive load theory: Recent theoreti-
cal advances.
Tsantalis, N., Mansouri, M., Eshkevari, L. M., Mazinanian,
D., and Dig, D. (2018). Accurate and efficient refac-
toring detection in commit history. In Proceedings of
the 40th International Conference on Software Engi-
neering, ICSE ’18, pages 483–494, New York, NY,
USA. ACM.
Van Solingen, R., Basili, V., Caldiera, G., and Rombach,
H. D. (2002). Goal question metric (gqm) approach.
Encyclopedia of software engineering.
Weyuker, E. J. (1988). Evaluating software complexity
measures. IEEE transactions on Software Engineer-
ing, 14(9):1357–1365.
Wohlin, C., Runeson, P., H
¨
ost, M., Ohlsson, M. C., Reg-
nell, B., and Wessl
´
en, A. (2012). Experimentation in
Software Engineering. Springer Berlin Heidelberg.
Zuse, H. (2019). Software complexity: measures and meth-
ods, volume 4. Walter de Gruyter GmbH & Co KG.
ENASE 2021 - 16th International Conference on Evaluation of Novel Approaches to Software Engineering
102