• Nenhum resultado encontrado

4 Trabalhos Relacionados

5.1 Trabalhos Futuros

Possíveis desdobramentos do presente trabalho consistem em:

• Cálculo da Precisão. Pretendemos calcular a precisão da interface excepcional des- coberta através da mineração de repositórios a partir do levantamento e inspeção de um maior subconjunto das interfaces descobertas. Atualmente inspecionamos apenas 10 pares método-exceção. Sabemos que esta análise é bastante dependente das bibliotecas escolhidas neste subconjunto mas poderia ser usada como uma das métricas de avaliação da abordagem proposta.

• Implementação de Plug-in do Eclipse. Um desdobramento do nosso trabalho consiste em disponibilizar as informações sobre as interfaces excepcionais descobertas dentro da IDE para que o desenvolvedor possa preparar o código para as exceções que podem fluir.

• Inclusão de Repositórios Locais. Outro desdobramento interessante deste trabalho consiste em incluir o repositório local como fonte de informação para identificação das exceções runtime não documentadas como também identificar os métodos mais críticos e que estão causando mais crash da aplicação.

Referências

AMINTABAR, V.; HEYDARNOORI, A.; GHAFARI, M. Exceptiontracer: a solution recommender for exceptions in an integrated development environment. In: IEEE PRESS. Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension. [S.l.], 2015. p. 299–302.

BALL, T. The concept of dynamic analysis. In: SPRINGER. Software Enginee- ring—ESEC/FSE’99. [S.l.], 1999. p. 216–234.

BARBOSA, E. A.; GARCIA, A.; BARBOSA, S. D. J. Categorizing faults in exception handling: A study of open source projects. In: IEEE. Software Engineering (SBES), 2014 Brazilian Symposium on. [S.l.], 2014. p. 11–20.

BETTENBURG, N. et al. What makes a good bug report? In: ACM. Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering. [S.l.], 2008. p. 308–318.

BLEI, D. M.; NG, A. Y.; JORDAN, M. I. Latent dirichlet allocation. Journal of machine Learning research, v. 3, n. Jan, p. 993–1022, 2003.

BLOCH, J. Effective java. [S.l.]: Pearson Education India, 2008.

CABRAL, B.; MARQUES, P. Exception handling: A field study in java and. net. In: SPRINGER. European Conference on Object-Oriented Programming. [S.l.], 2007. p. 151–175.

CAMPOS, E. C. et al. Nuggets miner: Assisting developers by harnessing the stackoverflow crowd knowledge and the github traceability. Proc. CBSoft-Tool Session, 2014.

CHESS, B.; WEST, J. Secure programming with static analysis. [S.l.]: Pearson Education, 2007.

COELHO, R. et al. Unveiling exception handling bug hazards in android based on github and google code issues. In: IEEE. Mining Software Repositories (MSR), 2015 IEEE/ACM 12th Working Conference on. 2015. p. 134–145. Disponível em: <https://doi.org/10.1109/MSR.2015.20>.

COELHO, R. et al. Assessing the impact of aspects on exception flows: An exploratory study. In: SPRINGER. European Conference on Object-Oriented Programming. [S.l.], 2008. p. 207–234.

DHALIWAL, T.; KHOMH, F.; ZOU, Y. Classifying field crash reports for fixing bugs: A case study of mozilla firefox. In: IEEE. Software Maintenance (ICSM), 2011 27th IEEE International Conference on. [S.l.], 2011. p. 333–342.

FERNANDES, T. d. C. B. ExMinerSOF: minerando informações excepcionais do Stackoverflow. 2017.

GARCIA, A. F. et al. A comparative study of exception handling mechanisms for building dependable object-oriented software. Journal of systems and software, Elsevier, v. 59, n. 2, p. 197–222, 2001.

GOODENOUGH, J. B. Exception handling: issues and a proposed notation. Communications of the ACM, ACM, v. 18, n. 12, p. 683–696, 1975.

GOSLING, J. et al. The Java language specification. [S.l.]: Pearson Education, 2014. GOUSIOS, G. The ghtorent dataset and tool suite. In: IEEE PRESS. Proceedings of the 10th working conference on mining software repositories. 2013. p. 233–236. Disponível em: <https://doi.org/10.1109/MSR.2013.6624034>.

GOUSIOS, G.; SPINELLIS, D. Ghtorrent: Github’s data from a firehose. In: IEEE. Mining software repositories (msr), 2012 9th ieee working conference on. [S.l.], 2012. p. 12–21.

KECHAGIA, M. Improvement of applications’ stability through robust apis. In: ACM. Proceedings of the 29th ACM/IEEE international conference on Automated software engineering. [S.l.], 2014. p. 907–910.

KECHAGIA, M.; MITROPOULOS, D.; SPINELLIS, D. Improving the quality of apis through the analysis of software crash reports. In: SCHLOSS DAGSTUHL-LEIBNIZ- ZENTRUM FUER INFORMATIK. OASIcs-OpenAccess Series in Informatics. [S.l.], 2013. v. 35.

KECHAGIA, M.; SPINELLIS, D. Undocumented and unchecked: exceptions that spell trouble. In: ACM. Proceedings of the 11th Working Conference on Mining Software Repo- sitories. 2014. p. 312–315. Disponível em: <https://doi.org/10.1145/2597073.2597089>. KIM, S.; ZIMMERMANN, T.; NAGAPPAN, N. Crash graphs: An aggregated view of multiple crashes to improve crash triage. In: IEEE. Dependable Systems & Networks (DSN), 2011 IEEE/IFIP 41st International Conference on. [S.l.], 2011. p. 486–493. LEVINSON, J.; NELSON, D. Static code analysis. Pro Visual Studio 2005 Team System, Springer, p. 377–401, 2006.

LINARES-VÁSQUEZ, M. et al. How do api changes trigger stack overflow discussions? a study on the android sdk. In: ACM. proceedings of the 22nd International Conference on Program Comprehension. [S.l.], 2014. p. 83–94.

LOELIGER, J.; MCCULLOUGH, M. Version Control with Git: Powerful tools and techniques for collaborative software development. [S.l.]: "O’Reilly Media, Inc.", 2012. MAPLE, S.; SHELAJEV, O. Java tools and technologies landscape report 2016. [S.l.], 2016.

MARTIN, R. C.; RIEHLE, D.; BUSCHMANN, F. Pattern languages of program design 3. [S.l.]: Addison-Wesley Longman Publishing Co., Inc., 1997.

MAXION, R. A.; OLSZEWSKI, R. T. Improving software robustness with dependability cases. In: IEEE. Digest of Papers Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing. [S.l.], 1998. p. 346–355.

MELO, H. et al. In-depth characterization of exception flows in software product lines: an empirical study. Journal of Software Engineering Research and Development, Springer, v. 1, n. 1, 2013. Disponível em: <https://doi.org/10.1186/2195-1721-1-3>. MILEVA, Y. M. et al. Mining trends of library usage. In: ACM. Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops. 2009. p. 57–62. Disponível em: <https://doi.org/10.1145/1595808.1595821>.

MILLER, R.; TRIPATHI, A. Issues with exception handling in object-oriented systems. In: SPRINGER. European Conference on Object-Oriented Programming. [S.l.], 1997. p. 85–103.

NANDA, M. G.; SINHA, S. Accurate interprocedural null-dereference analysis for java. In: IEEE COMPUTER SOCIETY. Proceedings of the 31st International Conference on Software Engineering. [S.l.], 2009. p. 133–143.

NIELSON, F.; NIELSON, H. R.; HANKIN, C. Principles of program analysis. [S.l.]: Springer, 2015.

ORACLE. javadoc - The Java API Documentation Generator. 2011. Disponível em: <https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc. html#throws>. Acesso em Abril 9, 2018.

PÁDUA, G. B. de; SHANG, W. Revisiting exception handling practices with exception flow analysis. In: IEEE. Source Code Analysis and Manipulation (SCAM), 2017 IEEE 17th International Working Conference on. 2017. p. 11–20. Disponível em: <https://doi.org/10.1109/SCAM.2017.16>.

PARNIN, C. et al. Crowd documentation: Exploring the coverage and the dynamics of api discussions on stack overflow. Georgia Institute of Technology, Tech. Rep, 2012. PONZANELLI, L.; BACCHELLI, A.; LANZA, M. Leveraging crowd knowledge for software comprehension and development. In: IEEE. Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on. [S.l.], 2013. p. 57–66. PONZANELLI, L. et al. Mining stackoverflow to turn the ide into a self-confident programming prompter. In: ACM. Proceedings of the 11th Working Conference on Mining Software Repositories. [S.l.], 2014. p. 102–111.

RAHMAN, M. M.; YEASMIN, S.; ROY, C. K. Towards a context-aware ide-based meta search engine for recommendation about programming errors and exceptions. In: IEEE. Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on. [S.l.], 2014. p. 194–203.

SASSO, T. D.; MOCCI, A.; LANZA, M. Misery loves company: Crowdstacking traces to aid problem detection. In: IEEE. Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on. [S.l.], 2015. p. 131–140. SENA, D. et al. Understanding the exception handling strategies of java li- braries: An empirical study. In: ACM. Proceedings of the 13th International Conference on Mining Software Repositories. 2016. p. 212–222. Disponível em: <https://doi.org/10.1145/2901739.2901757>.

SENA, D. S. d. Uma abordagem de apoio à extração da política de tratamento de exceções. Tese (Doutorado) — Departamento de Informática e Matemática Aplicada (DIMAp), UFRN, 2017.

SINHA, S. et al. Fault localization and repair for java runtime exceptions. In: ACM. Proceedings of the eighteenth international symposium on Software testing and analysis. [S.l.], 2009. p. 153–164.

SOUZA, L. B. de; CAMPOS, E. C.; MAIA, M. d. A. On the extraction of cookbooks for apis from the crowd knowledge. In: IEEE. Software Engineering (SBES), 2014 Brazilian Symposium on. [S.l.], 2014. p. 21–30.

SOUZA, L. B. de; CAMPOS, E. C.; MAIA, M. d. A. Ranking crowd knowledge to assist software development. In: ACM. Proceedings of the 22nd International Conference on Program Comprehension. [S.l.], 2014. p. 72–82.

THOMAS, D. A. The deplorable state of class libraries. Journal of Object Technology, v. 1, n. 1, p. 21–27, 2002.

TIP, F.; PALSBERG, J. Scalable propagation-based call graph construction algorithms. [S.l.]: ACM, 2000.

WANG, S.; KHOMH, F.; ZOU, Y. Improving bug localization using correlations in crash reports. In: IEEE PRESS. Proceedings of the 10th Working Conference on Mining Software Repositories. [S.l.], 2013. p. 247–256.

WANG, W.; GODFREY, M. W. Detecting api usage obstacles: A study of ios and android developer questions. In: IEEE PRESS. Proceedings of the 10th Working Conference on Mining Software Repositories. [S.l.], 2013. p. 61–64.

Documentos relacionados