Técnicas para Detecção de Código Morto: Uma Revisão Sistemática de Literatura
Resumo
A evolução é necessária para sistemas de informação não se tornarem inadequados e obsoletos. No entanto, essa evolução tem sido identificada como aspecto crítico em assegurar a manutenibilidade, por causa do aumento da quantidade de código morto nesses sistemas. A identificação e a eliminação de código morto reduzem o tamanho do código, diminuem a complexidade e facilitam a compreensão. Algumas técnicas foram propostas para automatizar a detecção desse código morto e estão disponíveis na literatura. Com base nisso, foi utilizada a técnica Revisão Sistemática de Literatura para encontrar técnicas de detecção de código morto existentes e o domínio em que foram aplicadas. Como resultado, duas principais técnicas foram encontradas: Análise de Acessibilidade e Análise de Fluxo de Dados. Além disso, análise quantitativa e análise qualitativa foram realizadas e são apresentadas para subsidiar pesquisadores sobre qual técnica utilizar.
Referências
M. Bostock, V. Ogievetsky, and J. Heer. D3 data-driven documents. IEEE Transactions on Visualization and Comp. Graphics, 17(12), 2011.
G. Botterweck, S. Thiel, C. Cawley, D. Nestor, and A. Preußner. Visual configuration in automotive software product lines. In 32nd Annual IEEE Int. Comp. Soft. and Appl. Conf. (COMPSAC), 2008.
S. K. Card, J. D. Mackinlay, and B. Shneiderman. Readings in information visualization: using vision to think. Morgan Kaufmann, 1999.
K. Constantino, J. A. Pereira, J. Padilha, P. Vasconcelos, and E. Figueiredo. An empirical study of two software product line tools. In 11th Int. Conf. on Evaluation of Novel Soft. Approaches to Soft. Eng. (ENASE). SCITEPRESS, 2016.
K. Czarnecki and U. W. Eisenecker. Generative programming: Methods, tools, and applications. Addison-Wesley, 2000.
S. Diehl. Software visualization: visualizing the structure, behaviour, and evolution of software. Springer Science & Business Media, 2007.
O. Djebbi, C. Salinesi, and G. Fanmuy. Industry survey of product lines management tools: Requirements, qualities and open issues. In 15th IEEE Int. Requirements Engineering Conf., 2007.
J. Feigenspan, C. K¨astner, M. Frisch, R. Dachselt, and S. Apel. Visual support for understanding product lines. In IEEE 18th Int. Conf. on Prog. Comp., 2010.
R. M. Heiberger and N. B. Robbins. Design of diverging stacked bar charts for likert scales and other applications. Journal of Statistical Soft., 2014.
M. Mendonça, M. Branco, and D. Cowan. S.p.l.o.t.: Software product lines online tools. In 24th Conf. on OO Prog. Sys., Lang., and Appl. (OOPSLA), 2009.
J. Pereira, C. G. Souza, E. Figueiredo, R. Abilio, G. Vale, and H. Costa. Software variability management: An exploratory study with two feature modeling tools. In Brazilian Sym. on Soft. Comp., Arch., and Reuse (SBCARS), 2013.
J. A. Pereira, K. Constantino, and E. Figueiredo. A systematic literature review of soft. product line management tools. In Soft. Reuse for Dynamic Systems in the Cloud and Beyond. Springer, 2015.
K. Pohl, G. B¨ockle, and F. J. Van der Linden. Software product line engineering: Foundations, principles and techniques. Springer-Verlag, 2005.
N. B. Robbins and R. M. Heiberger. Plotting likert and other rating scales. In Proceedings of the 2011 Joint Statistical Meeting, 2011.
R. Spence. Information Visualization: An Introduction. Springer Int. Publishing, 2014.
E. R. Tufte and P. Graves-Morris. The visual display of quantitative information, volume 2. Graphics press Cheshire, CT, 1983.
ViSPLatform-2016. http://homepages.dcc.ufmg.br/ kattiana/sbsi16/.
C. Wohlin, P. Runeson, M. H¨ost, M. C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in software engineering. Springer Science & Business Media, 2012.