Proceedings

  • [PDF]  Proceedings of III VEM, 2015

Best Paper Award

  • [PDF] Gleison Brito, André Hora, and Marco Tulio Valente. Um estudo sobre a utilização de mensagens de depreciação de APIs. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 9-16, 2015. (Best Paper Award)
    [Bibtex]
    @inproceedings{2015_vem_brito_et_al,
    author = {Gleison Brito and André Hora and Marco Tulio Valente},
    title = {Um Estudo sobre a Utilização de Mensagens de Depreciação de {APIs}},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {9-16},
    abstract = {When an API evolves, their clients should be updated to benefit from improved interfaces. In order to facilitate this task, APIs should always be deprecated with clear replacement messages. However, in practice, there are evidences that APIs are commonly deprecated without messages. In this paper, we study a set of questions related to the adoption of API deprecation messages. We aim (i) to measure the usage of API deprecation messages and (ii) to investigate whether a tool can be built to recommend such messages. The analysis of 14 real-world software systems shows that methods are frequently deprecated without replacement messages and this problem tends to get worse with the evolution of such systems. As a result, we provide the basis for the design of a tool to support developers on detecting such missing messages.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_brito_et_al.pdf},
    note = {(Best Paper Award)},
    }

Honorable Mention

  • [PDF] Fernanda M. Delfim, Klérisson V. R. da Paixão, and Marcelo de_A. Maia. Redocumentando APIs com conhecimento da multidão: um estudo de cobertura da API Swing no Stack Overflow. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 1-8, 2015. (Honorable Mention)
    [Bibtex]
    @inproceedings{2015_vem_delfim_et_al,
    author = {Fernanda M. Delfim and Klérisson V. R. da Paixão and Marcelo de_A. Maia},
    title = {Redocumentando {APIs} com Conhecimento da Multidão: um estudo de cobertura da {API} {Swing} no {Stack} {Overflow}},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {1-8},
    abstract = {API documentation, when exists, is insufficient to assist developers in their specific tasks. Few people write the API documentation for many potential readers, resulting in the lack of explanations and examples about different scenarios and perspectives. In this paper, we report a feasibility study to use the knowledge generated by the crowd on Stack Overflow for API documentation. The focus is to measure the contribution of the crowd with snippets about elements of an API in answers of how-to-do-it questions, in which the questioner provides a scenario and asks about how to implement it. We found that more than half of the Swing classes are not covered in questions-answers of that type, claiming for new incentive mechanisms for uncovered parts of the API.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_delfim_et_al.pdf},
    note = {(Honorable Mention)},
    }

Papers

  • [PDF] Thanis Paiva, Amanda Damasceno, Juliana Padilha, Eduardo Figueiredo, and Claudio Sant`Anna. Experimental evaluation of code smell detection tools. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 17-24, 2015.
    [Bibtex]
    @inproceedings{2015_vem_paiva_et_al,
    author = {Thanis Paiva and Amanda Damasceno and Juliana Padilha and Eduardo Figueiredo and Claudio Sant`Anna},
    title = {Experimental Evaluation of Code Smell Detection Tools},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {17-24},
    abstract = {Code smells are code fragments that can hinder the evolution and maintenance of software systems. Their detection is a challenge for developers and their informal definition leads to the implementation of multiple detection techniques by tools. This paper aims to evaluate and compare three code smell detection tools, namely inFusion, JDeodorant and PMD. These tools were applied to different versions of a same system. The results were analyzed to answer four research questions related to the evolution of the smells, the relevance of the smells detected, and the agreement among tools. This study allowed us to understand the evolution of code smells in the target system and to evaluate the accuracy of each tool in the detection of three code smells: God Class, God Method, and Feature Envy.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_paiva_et_al.pdf}
    }
  • [PDF] Marcelo Schots and Claudia Werner. On mapping goals and visualizations: Towards identifying and addressing information needs. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 25-32, 2015.
    [Bibtex]
    @inproceedings{2015_vem_schots_et_al,
    author = {Marcelo Schots and Claudia Werner},
    title = {On Mapping Goals and Visualizations: {Towards} Identifying and Addressing Information Needs},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {25-32},
    abstract = {The design of visual metaphors and the development of visualization tools have a key difference: while the former is a creative process to produce novel and generic approaches, the latter is a goal-oriented process. Ensuring that a tool properly maps the data required to achieve its goals into visual attributes is not trivial, since there are several abstraction gaps to be addressed. The mapping structure presented in this paper aims to provide developers of visualization tools with a focused and cautious decision making. Its use in the design of Zooming Browser, a tool for performing software reuse analytics, enabled to check if the tool could help answering the established questions before evaluating it with the intended audience (i.e., stakeholders).},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_schots_et_al.pdf}
    }
  • [PDF] Adriano L. Santos, Marco Tulio Valente, and Eduardo Figueiredo. Using JavaScript static checkers on GitHub systems: a first evaluation. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 33-40, 2015.
    [Bibtex]
    @inproceedings{2015_vem_santos_et_al,
    author = {Adriano L. Santos and Marco Tulio Valente and Eduardo Figueiredo},
    title = {Using {JavaScript} Static Checkers on {GitHub} Systems: A First Evaluation},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {33-40},
    abstract = {To improve code quality in JavaScript systems, static code analyzers are used to detect bad coding practices that can be potential bugs and can cause the system to not work properly. This paper investigates bad coding practices in JavaScript reported by two static analyzers (JSHint and JSLint) in order to verify if JavaScript systems are using this lint-like checkers to avoid bad coding practices and what are the most common warnings detected by them. Through an empirical study, we analyze 31 JavaScript systems and our results show that JSHint and JSLint are used by the development team of systems. We also found bad coding practices in all analyzed systems. In five systems, the number of warnings between old and new versions decreased by 14\%.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_santos_et_al.pdf}
    }
  • [PDF] Elienai B. Batista and Claudio Sant`Anna. Avaliação experimental da relação entre coesão e o esforço de compreensão de programas: um estudo preliminar. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 41-48, 2015.
    [Bibtex]
    @inproceedings{2015_vem_batista_et_al,
    author = {Elienai B. Batista and Claudio Sant`Anna},
    title = {Avaliação Experimental da Relação entre Coesão e o Esforço de Compreensão de Programas: Um Estudo Preliminar},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {41-48},
    abstract = {The software engineering literature claims that cohesion is a software design attribute that influences program comprehensibility. Researchers have defined a series of metrics for quantifying cohesion. However, there is no empirical evidence about whether there is a relation between cohesion, quantified by means of metrics, and program comprehension effort. In this paper, we present a quasi-experiment that evaluates the relation between cohesion measures and the effort for understanding the source code of object-oriented systems’ classes.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_batista_et_al.pdf}
    }
  • [PDF] Johnatan A. de Oliveira, Eduardo M. Fernandes, and Eduardo Figueiredo. Evaluation of duplicated code detection tools in cross-project context. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 49-56, 2015.
    [Bibtex]
    @inproceedings{2015_vem_oliveira_et_al,
    author = {Johnatan A. de Oliveira and Eduardo M. Fernandes and Eduardo Figueiredo},
    title = {Evaluation of Duplicated Code Detection Tools in Cross-Project Context},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {49-56},
    abstract = {Two or more code segments are considered duplicated when there is a high rate of similarity among them or they are exactly the same. Aiming to detect duplicated code in single software projects, several tools have been proposed. However, in case of cross-project detection, there are few tools. There is little empirical knowledge about the efficacy of these tools to detect duplicated code across different projects. Therefore, our goal is to assess the efficacy of duplicated code detection tools for single projects in cross-project context. It was concluded that the evaluated tools has no sufficient efficacy in the detection of some types of duplicated code beyond exact copy-paste. As a result, this work proposes guidelines for future implementation of tools.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_oliveira_et_al.pdf}
    }
  • [PDF] Mauricio F. Aniche and Marco A. Gerosa. Boas e más práticas no desenvolvimento web com MVC: resultados de um questionário com profissionais. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 57-64, 2015.
    [Bibtex]
    @inproceedings{2015_vem_aniche_et_al,
    author = {Mauricio F. Aniche and Marco A. Gerosa},
    title = {Boas e Más Práticas no Desenvolvimento Web com {MVC}: Resultados de Um Questionário com Profissionais},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {57-64},
    abstract = {Web applications are commonly built upon different technologies and architectures on both the server and client side. Among them, many applications rely on the MVC architectural pattern. As each layer is different from the other, understand their specific best practices is fundamental. In this study, we applied a questionnaire to identify and understand good and bad web software development practices according to professional developers. Based on 41 participants’ answers in a questionnaire with 50 open and closed questions, we catalogued and ranked different best practices. We noticed that developers have a set of good practices that go beyond the existent MVC’s architectural restrictions.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_aniche_et_al.pdf}
    }
  • [PDF] Fabio Petrillo, Guilherme Lacerda, Marcelo Pimenta, and Carla Freitas. Swarm debugging: towards a shared debugging knowledge. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 65-72, 2015.
    [Bibtex]
    @inproceedings{2015_vem_petrillo_et_al,
    author = {Fabio Petrillo and Guilherme Lacerda and Marcelo Pimenta and Carla Freitas},
    title = {Swarm Debugging: towards a shared debugging knowledge},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {65-72},
    abstract = {Debugging is a tedious and time-consuming task since it is a methodical process of finding causes and reducing the number of errors. During debugging sessions, developers run a software project, traversing method invocations, setting breakpoints, stopping or restarting executions. In these sessions, developers explore some project areas and create knowledge about them. Unfortunately, when these sessions finish, this knowledge is lost, and developers cannot use it in other debugging sessions or sharing it with collaborators. In this paper, we present Swarm Debugging, a new approach for visualizing and sharing information obtained from debugging sessions. Swarm Debugging provides interactive and real-time visualizations, and several searching tools. We present a running prototype and show how our approach offers more useful support for many typical development tasks than a traditional debugger tool. Through usage scenarios, we demonstrate that our approach can aid developers to decrease the required time for deciding where to toggle a breakpoint and locate bug causes.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_petrillo_et_al.pdf}
    }
  • [PDF] Marcos Viana, Estevão Moraes, Guilherme Barbosa, André Hora, and Marco Tulio Valente. JSCity: visualização de sistemas JavaScript em 3D. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 73-80, 2015.
    [Bibtex]
    @inproceedings{2015_vem_viana_et_al,
    author = {Marcos Viana and Estevão Moraes and Guilherme Barbosa and André Hora and Marco Tulio Valente},
    title = {{JSCity}: Visualização de Sistemas {JavaScript} em {3D}},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {73-80},
    abstract = {JavaScript is one of the most used languages on the web. A wide range of frameworks and libraries widely adopted on the market make use of Javascript. In order to support the development and maintenance of such systems, source code visual representations can be used for restructuring, refactoring and understanding JavaScript software. Although there are tools that generate visual representations of code in other languages such as CodeCity for Java, no similar tool is available for JavaScript applications. This paper presents JSCity, a tool for the interactive visualization of JavaScript systems in 3D, using a city metaphor. For this work, we analyzed 40 popular open source systems written in JavaScript hosted in GitHub.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_viana_et_al.pdf}
    }
  • [PDF] Francisco Helano S. de Magalhães, Lincoln S. Rocha, and Danielo G. Gomes. ECODroid: uma ferramenta para análise e visualização de consumo de energia em aplicativos Android. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 81-88, 2015.
    [Bibtex]
    @inproceedings{2015_vem_magalhaes_et_al,
    author = {Francisco Helano S. de Magalhães and Lincoln S. Rocha and Danielo G. Gomes},
    title = {{ECODroid}: Uma Ferramenta para Análise e Visualização de Consumo de Energia em Aplicativos {Android}},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {81-88},
    abstract = {Nos últimos anos, os dispositivos móveis evoluíram de plataformas fechadas, contendo apenas aplicações pré-instaladas, para plataformas abertas capazes de executar aplicativos desenvolvidos por terceiros. Entretanto, essa evolução trouxe consigo diversos problemas, tais como o consumo anormal de energia. Esse problema muitas vezes é causado por aplicativos mal projetados para lidar com questões de consumo de energia. Portanto, para melhorar a qualidade dos aplicativos com relação a eficiência energética, os desenvolvedores necessitam de ferramentas adequadas. Nesse contexto, este artigo apresenta o ECODroid, uma ferramenta para análise e visualização do consumo de energia em aplicativos Android que ajuda na identificação de trechos de código que possuem problemas relacionados ao consumo anormal de energia. Uma avaliação inicial do ECODroid foi realizada com o intuito de analisar a sua viabilidade.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_magalhaes_et_al.pdf}
    }
  • [PDF] Luis Paulo Silva da Carvalho, Renato Novais, and Manoel Gomes Mendonça de Neto. VisMinerService: a REST web service for source mining. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 89-96, 2015.
    [Bibtex]
    @inproceedings{2015_vem_carvalho_et_al,
    author = {Luis Paulo da Silva Carvalho and Renato Novais and Manoel Gomes de Mendonça Neto},
    title = {{VisMinerService}: A {REST} Web Service for Source Mining},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {89-96},
    abstract = {Enabling applications to perform source-mining and software metrics visualization can be a time-consuming task. With this in mind, we are positive that Web Services are fitting candidates to automate the developing of such applications. Therefore, this paper presents VisMinerService, a REST Web Service implementation built upon a static software component, VisMiner. It is described how the service can be used in order to mine metrics and other source-code related information. It is also discussed its integration with three different types of client applications (mobile, desktop/swing and web application) in order to provide a proof of concept of how VisMinerService can be used to create platform-independent software to visualize the mined information.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_carvalho_et_al.pdf}
    }
  • [PDF] Alessandra Levcovitz, Ricardo Terra, and Marco Tulio Valente. Towards a technique for extracting microservices from monolithic enterprise systems. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 97-104, 2015.
    [Bibtex]
    @inproceedings{2015_vem_levcovitz_et_al,
    author = {Alessandra Levcovitz and Ricardo Terra and Marco Tulio Valente},
    title = {Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {97-104},
    abstract = {The idea behind microservices architecture is to develop a single large, complex, application as a suite of small, cohesive, independent services. On the other way, monolithic systems get larger over the time, deviating from the intended architecture, and becoming tough, risky, and expensive to evolve. This paper describes a technique to identify and define microservices on a monolithic enterprise system. As the major contribution, our evaluation demonstrate that our approach could identify good candidates to become microservices on a 750 KLOC banking system, which reduced the size of the original system and took the benefits of microservices architecture, such as services being developed and deployed independently, and technology independence.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_levcovitz_et_al.pdf}
    }
  • [PDF] Pedro O. Raimundo, Sandro S. Andrade, and Renato Novais. Software evolution sonification. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 105-112, 2015.
    [Bibtex]
    @inproceedings{2015_vem_raimundo_et_al,
    author = {Pedro O. Raimundo and Sandro S. Andrade and Renato Novais},
    title = {Software Evolution Sonification},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {105-112},
    abstract = {Program comprehension is one of the most challenging tasks undertaken by software developers. Achieving a firm grasp on the software’s structure, behavior and evolution directly from its development artifacts is usually a time-consuming and challenging task. Software visualization tools have effectively been used to assist developers on these tasks, motivated by the use of images as outstanding medium for knowledge dissemination. Under such perspective, software sonification tools emerge as a novel approach to convey temporal and concurrent streams of information due to the their inherently temporal nature. In this work, we describe how software evolution information can be effectively conveyed by audio streams; how music, software architecture concepts and techniques come together to achieve such means; and present a framework for sonification of extracted evolutionary metrics from software repositories.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_raimundo_et_al.pdf}
    }
  • [PDF] David S. França, Eduardo M. Guerra, and Maurício F. Aniche. Como o formato de arquivos XML evolui? um estudo sobre sua relação com código-fonte. In III Workshop de Visualização, Evolução e Manutenção de Software (VEM), pages 113-120, 2015.
    [Bibtex]
    @inproceedings{2015_vem_franca_et_al,
    author = {David S. França and Eduardo M. Guerra and Maurício F. Aniche},
    title = {Como o formato de arquivos {XML} evolui? Um estudo sobre sua relação com código-fonte},
    booktitle = {{III} {Workshop} de {Visualiza\c{c}\~{a}o}, {Evolu\c{c}\~{a}o} e {Manuten\c{c}\~{a}o} de {Software} ({VEM})},
    year = {2015},
    pages = {113-120},
    abstract = {There are different ways to integrate applications. A popular approach is the exchange of messages in XML format where both applications share the XML schema. This model, known as ”contract”, may change over time as structural modifications such as additions of new information. Changes like that propagate to the client applications, as they have to fit to the new structure and contract. The aim is to better understand how are the dynamics of the contract changes in a software project by means of analyzing messages contracts changes and their impact on the source code of open source and industry applications.},
    pdf = {http://vem2015.dcc.ufla.br/wp-content/uploads/2015/08/2015_vem_franca_et_al.pdf}
    }