On the Investigation of Domain-Sensitive Bad Smells in Information Systems
Resumo
Bad smells are symptoms that something may be wrong in the information system design or source code. Although bad smells have been widely studied, we still lack an in-deep analysis about how they appear more or less frequently in specific information systems domains. The frequency of bad smells in a domain of information systems can be useful, for instance, to allow software developers to focus on the more relevant bad smells of a certain domain. Moreover, developers of new bad smell detection tools could take information about domains into consideration to improve the tool detection rates. In this paper, we investigate code smells more likely to appear in four specific information systems domains: accounting, e-commerce, health, and restaurant. Our analysis relies on 52 information systems mined from GitHub. We identified bad smells with two detection tools, PMD and JDeodorant. Our findings suggest that Comments is a domain-independent bad smell since they uniformly appear in all investigated domains. On the other hand, Large Class and Long Method can be considered domain-sensitive bad smells since they appear more frequently in accounting systems. Although less frequent in general, Long Parameter List and Switch Statements also appear more in health and e-commerce systems, respectively, than in other domains.
Referências
C. D. Cannière. Trivium: A stream cipher construction inspired by block cipher design principles. In Lecture Notes in Computer Science, pages 171–186. Springer Science Business Media, 2006.
C. D. Cannière and B. Preneel. Trivium specifications. techreport, ECRYPT, 2007.
G. Chen, Y. Mao, and C. K. Chui. A symmetric image encryption scheme based on 3D chaotic cat maps. Chaos, Solitons & Fractals, 21(3):749–761, jul 2004.
C. Cid and M. Robshaw. The eSTREAM Portfolio in 2012: ECRYPT II report D.SYM.10. ECRYPT II, 1 2012.
ECRYPT II. estream: the ecrypt stream cipher project, 2012.
B. Gierlichs, L. Batina, C. Clavier, T. Eisenbarth, A. Gouget, H. Handschuh, T. Kasper, K. Lemke-Rust, S. Mangard, A. Moradi, et al. Susceptibility of estream candidates towards side channel analysis. Proceedings of SASC, pages 123–150, 2008.
M. Hell, T. Johansson, and W. Meier. Grain: a stream cipher for constrained environments. International Journal of Wireless and Mobile Computing, 2(1):86, 2007.
A. S. Mansingka, M. L. Barakat, A. G. Radwan, and K. N. Salama. Hardware stream cipher with controllable chaos generator for colour image encryption. IET Image Processing, 8(1):33–43, jan 2014.
Mathworks. R2015a release highlights, 2015.
L. Merah, A. Ali-Pacha, and N. Hadj-Said. Real-time cryptosystem based on synchronized chaotic systems. Nonlinear Dynamics, 82(1-2):877–890, oct 2015.
C. Paar and J. Pelzl. Understanding Cryptography. Springer Science Business Media, 2010.
M. T. Ramirez-Torres, J. S. Murguia, and M. Mejia-Carlos. FPGA implementation of a reconfigurable image encryption system. In 2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14), pages 1–4. IEEE, dec 2014.
V. Rijmen. Stream ciphers and the estream project. The ISC Int’l Journal of Information Security, 2(1):3–11, jan 2010.
S. Rohith, K. N. H. Bhat, and A. N. Sharma. Image encryption and decryption using chaotic key sequence generated by sequence of logistic map and sequence of states of linear feedback shift register. In 2014 International Conference on Advances in Electronics Computers and Communications. Institute of Electrical & Electronics Engineers (IEEE), oct 2014.
K. M. Shruthi, S. Sheela, and S. V. Sathyanarayana. Image encryption scheme with key sequences based on chaotic functions. In 2014 International Conference on Contemporary Computing and Informatics (IC3I). Institute of Electrical & Electronics Engineers (IEEE), nov 2014.
W. Stallings. Cryptography and Network Security: Principles and Practice. Prentice Hall Press, Upper Saddle River, NJ, USA, 5th edition, 2010.
R. Terada. Segurança de dados: criptografia em redes de computador. Blucher, São Paulo, 1st edition, 2000.
University of Southern California. Sipi image database, 2017.
Y. Wu, J. P. Noonan, and S. Agaian. Npcr and uaci randomness tests for image encryption. Cyber journals: multidisciplinary journals in science and technology, Journal of Selected Areas in Telecommunications (JSAT), pages 31–38, 2011.