Workshops on Software Visualization, Evolution and Maintenance最新文献

筛选
英文 中文
Perceptions and Difficulties of Software Engineering Students in Code Smells Refactoring 软件工程专业学生在代码气味重构中的感知和困难
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2022-10-03 DOI: 10.5753/vem.2022.226804
Carla Bezerra, Humberto Damasceno, J. Teixeira
{"title":"Perceptions and Difficulties of Software Engineering Students in Code Smells Refactoring","authors":"Carla Bezerra, Humberto Damasceno, J. Teixeira","doi":"10.5753/vem.2022.226804","DOIUrl":"https://doi.org/10.5753/vem.2022.226804","url":null,"abstract":"Code smells are bad code structures that can harm the quality and maintainability of software. To remove these bad structures, developers use refactoring techniques. Refactoring helps code be easier to understand and modify by eliminating potential problems and improving the software quality. Most refactoring activities are usually performed manually and undisciplined, which can cause code degradation. Currently, concepts, practices and tools of refactoring and code smells are little discussed in undergraduate computing courses. This problem is reflected in the software industry, which generally does not use refactoring practices to improve code readability and maintainability. In this context, we present in this paper an experience report on teaching the practice of code smells refactoring, investigating the following topics: (i) skills acquired in the practice of code smells refactoring, (ii) difficulties encountered in code smells refactoring and (iii) students’ perception of code smells refactoring practices. The study was carried out in two undergraduate classes with 20 students in the course of software quality. Our findings contribute to replicating the practice in other courses that want to delve into code smell refactoring and contribute to the use of refactoring practices and code quality evaluation in the industry.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126622262","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Caracterizando a evolução de software de contratos inteligentes: Um estudo exploratório-descritivo utilizando GitHub e Etherscan 描述智能合约软件的演变:使用GitHub和Etherscan的探索性描述性研究
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17210
Alan Rodrigues, A. Araújo, Matheus Paixão, Pamella Soares
{"title":"Caracterizando a evolução de software de contratos inteligentes: Um estudo exploratório-descritivo utilizando GitHub e Etherscan","authors":"Alan Rodrigues, A. Araújo, Matheus Paixão, Pamella Soares","doi":"10.5753/vem.2021.17210","DOIUrl":"https://doi.org/10.5753/vem.2021.17210","url":null,"abstract":"Blockchain tem sido enquadrada como uma nova infra-estrutura disruptiva baseada na internet. Parcela desse potencial advém do fortalecimento de plataformas públicas de blockchain, como a Ethereum, as quais viabilizam Aplicações Descentralizadas (dApps). Tais soluções são baseadas em contratos inteligentes (CIs) e lidam com restrições específicas que desafiam a evolução de software, como a imutabilidade de dados e o acesso transparente ao código-fonte. Em particular, a transparência de código pode ser observada através de ferramentas como o Etherscan, a qual provê acesso público a uma vasta quantidade de informações sobre os CIs implantados na Ethereum. Além disso, pode-se observar organizações oriundas desse ecossistema aderindo à prática de desenvolvimento open source dos CIs, incluindo o amplo uso do GitHub. Esse rico cenário motivou a necessidade de conduzir um estudo exploratório-descritivo baseado em mineração de repositórios de software para compreender a evolução de software de CIs através da avaliação de similaridade entre a versão disponível no GitHub e versão utilizada na Ethereum (e auditável via Etherscan). À luz de uma análise quali-quantititativa de 27 CIs, este artigo contribui ao 1) caracterizar quatro padrões que denotam diferentes comportamentos evolutivos dos CIs e 2) abordar um método experimental baseado em string para comparar a similaridade entre diferentes versões de CIs.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123797277","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Assessing the Occurrence of Blocking Operations in Database Schema Evolution: A Case Study 评估数据库模式演化中阻塞操作的发生:一个案例研究
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17209
Willie Lawrence, Eiji Adachi Barbosa
{"title":"Assessing the Occurrence of Blocking Operations in Database Schema Evolution: A Case Study","authors":"Willie Lawrence, Eiji Adachi Barbosa","doi":"10.5753/vem.2021.17209","DOIUrl":"https://doi.org/10.5753/vem.2021.17209","url":null,"abstract":"During the evolution of a database schema, some schema-changing operations (e.g., the “ALTER TABLE” command) require the underlying database management system to lock tables until the opera-tion is finished. We call these schema-changing operations blocking operations. During the execution of blocking operations, a soft-ware application may behave abnormally, varying from a slow page loading to an error caused by a web request taking too long to return. Despite their potential negative impact on important qual-ity attributes, blocking operations have not yet been empirically investigated in the context of software evolution. To fill this gap, we conducted a large industrial case study in the context of a Brazilian software company. We analyzed 1,499 atomic schema-changing operations from a period of 6 years to explore which blocking operations the developers frequently performed during the evolution of the database schema of a target system. The intention behind this case study is better understanding the problem in its original context to outline strategies to correct or mitigate it in the future. Our results show that blocking operations were very common, though not all of them seemed to cause observable downtime periods. We also present some mitigating strategies already in use by the devel-opment team of the target system to cope with blocking operation during software evolution, avoiding their negative impact.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126745737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Minerando Motivações para Aplicação de Extract Method: Um Estudo Preliminar 提取法应用的采矿动机:初步研究
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17212
Jalisson Henrique, M. Dósea, C. Sant’Anna
{"title":"Minerando Motivações para Aplicação de Extract Method: Um Estudo Preliminar","authors":"Jalisson Henrique, M. Dósea, C. Sant’Anna","doi":"10.5753/vem.2021.17212","DOIUrl":"https://doi.org/10.5753/vem.2021.17212","url":null,"abstract":"As refatorações são operações realizadas no código fonte visando melhorar a capacidade de manutenção de um sistema de software. Apesar da literatura conter diversos estudos sobre as refatorações, são poucos os trabalhos que investigaram as motivações para tais refatorações ocorrerem. Esta pesquisa buscou investigar as motivações por trás das operações de extract method em um sistema real. Para isso, um estudo experimental foi conduzido, buscando minerar as refatorações do tipo extract method e analisar as mensagens de commit visando capturar as motivações por trás das refatorações. Também foi verificado a relação entre as refatorações e a métrica de número de linhas de código (LOC). Os resultados apontaram 11 motivações diferentes para a utilização do extract method. Além disso, foi visto que apenas 35% das refatorações que ocorreram foram com intenção de melhorar a qualidade do código. Também foi identificado que as refatorações com intenção de melhorar a qualidade do código ocorreram com maior frequência em métodos com valores de LOC na faixa de 21 a 40 e foram menos frequentes em métodos com valores entre 61 a 80.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"696 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116116955","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Revealing Developers' Arguments on Validating the Incidence of Code Smells: A Focus Group Experience 揭示开发人员关于验证代码气味发生率的争论:焦点小组经验
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17214
Luis Felipi Junionello, R. Mello, R. Oliveira, L. Sousa, Alexander López, Alessandro F. Garcia
{"title":"Revealing Developers' Arguments on Validating the Incidence of Code Smells: A Focus Group Experience","authors":"Luis Felipi Junionello, R. Mello, R. Oliveira, L. Sousa, Alexander López, Alessandro F. Garcia","doi":"10.5753/vem.2021.17214","DOIUrl":"https://doi.org/10.5753/vem.2021.17214","url":null,"abstract":"Identifying code smells is considered a subjective task. Unfortunately, current automated detection tools cannot deal with such subjectivity, requiring human validation. Developers tend to follow different, albeit complementary, strategies when validating the identified smells. Intending to find out developers' arguments when validating the incidence of code smells, we conducted a focus group session with developers familiar with identifying code smells. We distributed them among two groups, in which they had to argue about the incidence of a code smell: either accepting or rejecting its presence. Based on their arguments, we compiled a set of general heuristics that developers follow when validating smells. We then used these heuristics for composing validation items. We understand that the set of validation items proposed may support developers in reflecting on the incidence of code smells. However, further studies are needed for reaching a more comprehensive and optimized set. The experience of this study reveals that conducting focus group sessions is helpful to emerge the tacit knowledge of developers when validating code smells.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133782795","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Say my name! An empirical study on the pronounceability of identifier names 叫我的名字!标识符名称可发音性的实证研究
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17218
R. Gresta, Elder Cirilo
{"title":"Say my name! An empirical study on the pronounceability of identifier names","authors":"R. Gresta, Elder Cirilo","doi":"10.5753/vem.2021.17218","DOIUrl":"https://doi.org/10.5753/vem.2021.17218","url":null,"abstract":"Identifiers represent approximately 2/3 of the elements in source code, and their names directly impact code comprehension. Indeed, intention-revealing names make code easier to understand, especially in code review sessions, where developers examine each other's code for mistakes. However, we argue that names should be understandable and pronounceable to enable developers to review and discuss code effectively. Therefore, we carried out an empirical study based on 40 open-source projects to explore the naming practices of developers concerning word complexity and pronounceability. We applied the Word Complexity Measure (WCM) to discover complex names; and analyzed the phonetic similarity among names and hard-to-pronounce English words. As a result, we observed that most of the analyzed names are somewhat composed of hard-to-pronounce words. The overall word complexity score of the projects also tends to be significant. Finally, the results show that the code location impacts the word complexity: names in small scopes tend to be simpler than names declared in large scopes.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129075197","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Uma Análise da Co-Evolução de Teste em Projetos de Software no GitHub GitHub上软件项目的测试共同进化分析
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17215
C. Miranda, G. Avelino, P. S. Neto, V. D. Silva
{"title":"Uma Análise da Co-Evolução de Teste em Projetos de Software no GitHub","authors":"C. Miranda, G. Avelino, P. S. Neto, V. D. Silva","doi":"10.5753/vem.2021.17215","DOIUrl":"https://doi.org/10.5753/vem.2021.17215","url":null,"abstract":"Os sistemas de software evoluem e essa evolução requer modificações em seu código-fonte para a realização de alterações, como correções de bugs, melhorias de desempenho ou adição de novas funcionalidades. Tendo em vista a importância da realização de testes para garantir a qualidade de um software, modificações no código-fonte devem ser acompanhadas de alterações e incrementos do código de teste. Entretanto, testes e a co-evolução desse muitas vezes são negligenciados no desenvolvimento de projetos de software, podendo resultar em maior esforço e custo para manter o projeto. Neste trabalho, através da análise de um grande dataset, composto pelo histórico de desenvolvimento de 3.000 projetos hospedados no Github, investigamos como artefatos de código-fonte e teste evoluem. Através da aplicação de técnicas de clusterização identificamos cinco padrões comuns de crescimento de teste. Adicionalmente, ao contrastar dados dos repositórios identificados com co-evolução e sem coevolução foi observado que os primeiros apresentam maiores níveis de contribuição (commits, colaboradores e forks).","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128927428","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
BOHR - Uma Ferramenta para a Identificação de Átomos de Confusão em Códigos Java 在Java代码中识别混乱原子的工具
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17216
W. Mendes, Windson Viana, Lincoln S. Rocha
{"title":"BOHR - Uma Ferramenta para a Identificação de Átomos de Confusão em Códigos Java","authors":"W. Mendes, Windson Viana, Lincoln S. Rocha","doi":"10.5753/vem.2021.17216","DOIUrl":"https://doi.org/10.5753/vem.2021.17216","url":null,"abstract":"A atividade de compreensão do código-fonte é fundamental no desenvolvimento e manutenção de software. Nesse contexto, Átomos de Confusão (AC) surgem como a menor porção de código capaz de causar confusão em desenvolvedores nesse processo. Neste artigo, é apresentado o BOHR - The Atoms of Confusion Hunter, uma ferramenta que tem como objetivos: (i) auxiliar a identificação de AC em sistemas Java; (ii) fornecer relatórios sobre a prevalência desses AC; e (iii) fornecer uma API para o desenvolvimento de novos buscadores customizados para a captura de novos AC e, também, melhorias em suas identificações. Nesta primeira versão, o BOHR é capaz de detectar 8 dos 13 tipos de AC apontados por Langhout e Aniche. Uma avaliação preliminar do BOHR foi conduzida em três sistemas reais, de código aberto, largamente adotados pela comunidade de desenvolvimento de softwares Java (Picasso, greenDAO e Socket.IO-client Java). Os resultados iniciais mostraram que o BOHR conseguiu detectar com precisão os AC existentes nesses sistemas analisados, apontando de forma correta os snippets dos AC, assim como o seu tipo, nome da classe que era pertencente e o número da linha de código de sua ocorrência. No total, foram encontrados 105 AC, sendo 37 no Picasso, 25 no greenDAO e 43 no Socket.IO-client Java.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115849194","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Investigating vulnerability datasets 调查漏洞数据集
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17213
Rodrigo Andrade, Vinícius Santos
{"title":"Investigating vulnerability datasets","authors":"Rodrigo Andrade, Vinícius Santos","doi":"10.5753/vem.2021.17213","DOIUrl":"https://doi.org/10.5753/vem.2021.17213","url":null,"abstract":"Insecure software can cause severe damage to user experience and privacy. Therefore, developers should be able to prevent software vulnerabilities. However, detecting such problems is expensive and time consuming. To mitigate this issue, researchers propose vulnerability datasets to make it easier to investigate its properties. In this work, we investigate one dataset to better understand common vulnerabilities, the authors who introduce them to open-source projects, and commit properties. Thus, we use as case study the Big-Vul dataset to help us answering the six research questions we define for this work. Our preliminary results indicate that the most common vulnerabilities occur in the Chromium project. Furthermore, mostly experienced authors are responsible for introducing these vulnerabilities. Last but not least, we conclude that such findings could help developers on detecting vulnerabilities.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125898491","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
What do software team managers want from a skills identification? 软件团队经理想从技能识别中得到什么?
Workshops on Software Visualization, Evolution and Maintenance Pub Date : 2021-09-27 DOI: 10.5753/vem.2021.17211
Matheus Flauzino, M. Souza, Vinicius H. S. Durelli, R. Durelli
{"title":"What do software team managers want from a skills identification?","authors":"Matheus Flauzino, M. Souza, Vinicius H. S. Durelli, R. Durelli","doi":"10.5753/vem.2021.17211","DOIUrl":"https://doi.org/10.5753/vem.2021.17211","url":null,"abstract":"Searching for developers with the necessary skills to work effectively on a project is not an easy task for companies. For software team managers, it is important to know their team's experience and what technologies they are using in order to be able to allocate resources optimally. Therefore, in this paper, we decided to study the needs of the managers of a software development company in order to identify their team's skills. We carried out a focus group. We have interviewed 11 managers from a development company (with approximately 75 developers). As result we have mapped 5 issues, 4 possible applications and another 7 needs to create a new methodology for identifying skills. Finally, we conclude that managers are interested in a methodology to identify skills in business flow.","PeriodicalId":308044,"journal":{"name":"Workshops on Software Visualization, Evolution and Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131233192","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书