首页 > 最新文献

Proceedings of the XXI Brazilian Symposium on Software Quality最新文献

英文 中文
Characterizing Commits in Open-Source Software 确定开源软件中的提交特征
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571508
Mívian M. Ferreira, Diego Gonçalves, Mariza Bigonha, Kecia Ferreira
Mining software repositories has been the basis of many studies on software engineering. Many of these works rely on commits’ data extracted since commit is the basic unit of information about activities performed on the projects. However, not knowing the characteristics of commits may introduce biases and threats in studies that consider commits’ data. This work presents an empirical study to characterize commits in terms of four aspects: the size of commits in the total number of files; the size of commits in the number of source-code files, the size of commits by category; and the time interval of commits performed by contributors. We analyzed 1M commits from the 24 most popular and active Java-based projects hosted on GitHub. The main findings of this work show that: the size of commits follows a heavy-tailed distribution; most commits involve one to 10 files; most commits affect one to four source-code files; the commits involving hundreds of files not only refer to merge or management activities; the distribution of the time intervals is approximately a Normal distribution, i.e., the distribution tends to be symmetric, and the mean is representative; in the average, a developer proceed a commit every eight hours. The results of this study should be considered by researchers in empirical works to avoid biases when analyzing commits’ data. Besides, the results provide information that practitioners may apply to improve the management and the planning of software activities.
软件仓库挖掘一直是许多软件工程研究的基础。由于提交是项目活动信息的基本单位,因此许多研究都依赖于提交数据的提取。然而,不了解提交的特征可能会给考虑提交数据的研究带来偏差和威胁。本研究通过实证研究从四个方面描述了提交的特征:提交在文件总数中的大小、提交在源代码文件数量中的大小、按类别划分的提交大小以及贡献者执行提交的时间间隔。我们分析了 GitHub 上 24 个最流行、最活跃的基于 Java 的项目的 100 万次提交。这项工作的主要发现表明:提交的大小服从重尾分布;大多数提交涉及 1 到 10 个文件;大多数提交影响 1 到 4 个源代码文件;涉及数百个文件的提交不仅指合并或管理活动;时间间隔的分布近似于正态分布,即分布趋于对称,均值具有代表性;平均而言,开发人员每 8 小时进行一次提交。研究人员在实证工作中应考虑本研究的结果,以避免在分析提交数据时出现偏差。此外,研究结果还为从业人员提供了可用于改进软件活动管理和规划的信息。
{"title":"Characterizing Commits in Open-Source Software","authors":"Mívian M. Ferreira, Diego Gonçalves, Mariza Bigonha, Kecia Ferreira","doi":"10.1145/3571473.3571508","DOIUrl":"https://doi.org/10.1145/3571473.3571508","url":null,"abstract":"Mining software repositories has been the basis of many studies on software engineering. Many of these works rely on commits’ data extracted since commit is the basic unit of information about activities performed on the projects. However, not knowing the characteristics of commits may introduce biases and threats in studies that consider commits’ data. This work presents an empirical study to characterize commits in terms of four aspects: the size of commits in the total number of files; the size of commits in the number of source-code files, the size of commits by category; and the time interval of commits performed by contributors. We analyzed 1M commits from the 24 most popular and active Java-based projects hosted on GitHub. The main findings of this work show that: the size of commits follows a heavy-tailed distribution; most commits involve one to 10 files; most commits affect one to four source-code files; the commits involving hundreds of files not only refer to merge or management activities; the distribution of the time intervals is approximately a Normal distribution, i.e., the distribution tends to be symmetric, and the mean is representative; in the average, a developer proceed a commit every eight hours. The results of this study should be considered by researchers in empirical works to avoid biases when analyzing commits’ data. Besides, the results provide information that practitioners may apply to improve the management and the planning of software activities.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130233591","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
Teaching software processes from different application domains 教学软件过程来自不同的应用领域
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571488
C. Bezerra, E. Coutinho
In a current application development scenario in different environments, technologies and contexts, such as IoT, Blockchain, Machine Learning and Cloud Computing, there is a need for particular solutions for domain-specific software development processes. The proper definition of software processes requires understanding the involved teams and organization’s particularities and specialized technical knowledge in Software Engineering. Although it is an essential part of Software Engineering, many university curricula do not dedicate as much effort to teach software processes, focusing more on the basic principles of Software Engineering, such as requirements, architecture and programming languages. Another important aspect of software processes is modeling. The modeling of a software process provides a basis for managing, automating and supporting the software process improvement. In this context, teaching software process modeling becomes challenging, mainly due to the great emphasis on theory and few practices. This work presents an experience report teaching the definition and modeling of software processes in different domains. We applied in the discipline of software processes a practice for defining and modeling processes in various application domains, such as: IoT, cloud, mobile, critical systems, self-adaptive systems and games. The processes were modeled in the Eclipse Process Framework (EPF) Composer tool based on references from the literature for each domain. In the end, we evaluated the process modeling practice with the students. We concluded that the modeling tool and the maturity in the domain are essential for the good performance of the process.
在不同环境、技术和背景(如物联网、区块链、机器学习和云计算)的当前应用程序开发场景中,需要针对特定领域的软件开发过程提供特定的解决方案。软件过程的正确定义需要理解所涉及的团队和组织的特性以及软件工程中的专业技术知识。虽然它是软件工程的重要组成部分,但许多大学课程并没有投入那么多的精力来教授软件过程,而是更多地关注于软件工程的基本原则,例如需求、体系结构和编程语言。软件过程的另一个重要方面是建模。软件过程的建模为管理、自动化和支持软件过程改进提供了基础。在这种背景下,教学软件过程建模变得具有挑战性,主要是由于理论的重视和实践的少。这项工作提出了一个经验报告,教授不同领域的软件过程的定义和建模。我们在软件过程学科中应用了在各种应用领域定义和建模过程的实践,例如:物联网,云,移动,关键系统,自适应系统和游戏。在Eclipse Process Framework (EPF) Composer工具中,根据每个领域的文献参考对流程进行建模。最后,我们对学生的过程建模实践进行了评价。我们得出结论,建模工具和领域中的成熟度对于过程的良好性能是必不可少的。
{"title":"Teaching software processes from different application domains","authors":"C. Bezerra, E. Coutinho","doi":"10.1145/3571473.3571488","DOIUrl":"https://doi.org/10.1145/3571473.3571488","url":null,"abstract":"In a current application development scenario in different environments, technologies and contexts, such as IoT, Blockchain, Machine Learning and Cloud Computing, there is a need for particular solutions for domain-specific software development processes. The proper definition of software processes requires understanding the involved teams and organization’s particularities and specialized technical knowledge in Software Engineering. Although it is an essential part of Software Engineering, many university curricula do not dedicate as much effort to teach software processes, focusing more on the basic principles of Software Engineering, such as requirements, architecture and programming languages. Another important aspect of software processes is modeling. The modeling of a software process provides a basis for managing, automating and supporting the software process improvement. In this context, teaching software process modeling becomes challenging, mainly due to the great emphasis on theory and few practices. This work presents an experience report teaching the definition and modeling of software processes in different domains. We applied in the discipline of software processes a practice for defining and modeling processes in various application domains, such as: IoT, cloud, mobile, critical systems, self-adaptive systems and games. The processes were modeled in the Eclipse Process Framework (EPF) Composer tool based on references from the literature for each domain. In the end, we evaluated the process modeling practice with the students. We concluded that the modeling tool and the maturity in the domain are essential for the good performance of the process.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133965006","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
Factors that Boost and Hinder the Transition from Traditional to Self-managed Teams: A Systematic Literature Review 促进和阻碍传统团队向自我管理团队转变的因素:系统的文献综述
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571489
R. Lima, Marcelo Santana Costa, A. Oran, C. França
Background: Considering the required speed of organizational transitions to keep software development competitive, transitions based on a trial-and-error approach are less and less acceptable. Even so, due to the lack of a systematic process and knowledge capable of guiding the transition of traditional teams to self-managed teams (SMT) companies have faced difficulties in completing this mission, becoming dependent on individual efforts with unpredictable results. Objective: This work aims to analyze available scientific publications in order to characterize the critical factors related to the transition from traditional teams to SMT in a software development context. Method: We used the Scopus scientific database to conduct a Systematic Literature Review on its available publications in the last 5 years. Results: A total of 14 factors capable of boosting or hindering the team transition toward SMT were labeled into 6 interdependent perspectives through analysis of the evidence provided by 28 selected publications. Conclusion: Our findings show that this transition cannot be seen as an isolated process with immediate results and that there is still much to investigate about the transition of traditional teams to SMT in the software development industry.
背景:考虑到保持软件开发竞争力所需的组织转换速度,基于试错方法的转换越来越难以接受。即便如此,由于缺乏能够指导传统团队向自我管理团队(SMT)过渡的系统流程和知识,公司在完成这一任务时面临困难,变得依赖于个人的努力,结果难以预测。目的:这项工作的目的是分析现有的科学出版物,以便在软件开发环境中描述与从传统团队到SMT过渡相关的关键因素。方法:利用Scopus科学数据库对其近5年发表的文献进行系统综述。结果:通过对28份选定出版物提供的证据的分析,共有14个能够促进或阻碍团队向SMT过渡的因素被标记为6个相互依赖的角度。结论:我们的发现表明,这种转变不能被看作是一个具有直接结果的孤立过程,并且在软件开发行业中,关于传统团队向SMT的转变还有很多需要调查的地方。
{"title":"Factors that Boost and Hinder the Transition from Traditional to Self-managed Teams: A Systematic Literature Review","authors":"R. Lima, Marcelo Santana Costa, A. Oran, C. França","doi":"10.1145/3571473.3571489","DOIUrl":"https://doi.org/10.1145/3571473.3571489","url":null,"abstract":"Background: Considering the required speed of organizational transitions to keep software development competitive, transitions based on a trial-and-error approach are less and less acceptable. Even so, due to the lack of a systematic process and knowledge capable of guiding the transition of traditional teams to self-managed teams (SMT) companies have faced difficulties in completing this mission, becoming dependent on individual efforts with unpredictable results. Objective: This work aims to analyze available scientific publications in order to characterize the critical factors related to the transition from traditional teams to SMT in a software development context. Method: We used the Scopus scientific database to conduct a Systematic Literature Review on its available publications in the last 5 years. Results: A total of 14 factors capable of boosting or hindering the team transition toward SMT were labeled into 6 interdependent perspectives through analysis of the evidence provided by 28 selected publications. Conclusion: Our findings show that this transition cannot be seen as an isolated process with immediate results and that there is still much to investigate about the transition of traditional teams to SMT in the software development industry.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122694666","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
Joy to the Work: How Does Software Team Formation Strategy Influence Job Satisfaction? 工作乐趣:软件团队形成策略如何影响工作满意度?
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571506
Sergio Ricardo De Oliveira Cavalcante, B. Gadelha, E. Oliveira, Igor Steinmacher, W. Nakamura, T. Conte
Background - The main assets of software organizations are their development teams. Several factors impact job satisfaction, such as salary, workload, and autonomy; still, the software team relationship could impact one's job satisfaction. Objective - We aim to understand how software team formation strategy impacts job satisfaction. Method - We analyzed two software team formation strategies: (i) team members selected by a leader, and (ii) team members self-selection. We administered a survey to 66 employees of an R&D organization, comparing the team formation strategies. Results - Our results indicated that, in this context, the self-selection team formation strategy positively impacted job satisfaction and influenced good team cohesion and performance. Qualitative results showed that this formation strategy assembled teams with a good relationship among their members in which conflicts arose but were harmonically solved. Conclusion - This suggests that autonomy in the team formation stage would be good practice and could be more tested in the industry. These results may bring new evidence to practitioners about the benefits and drawbacks that self-selected teams may offer to the organization.
背景——软件组织的主要资产是他们的开发团队。有几个因素会影响工作满意度,比如工资、工作量和自主性;尽管如此,软件团队的关系可能会影响一个人的工作满意度。目标-我们的目标是了解软件团队形成策略如何影响工作满意度。方法-我们分析了两种软件团队形成策略:(i)团队成员由领导者选择,以及(ii)团队成员自我选择。我们对一家研发机构的66名员工进行了调查,比较了团队组建策略。结果-我们的研究结果表明,在此背景下,自我选择团队组建策略对工作满意度产生积极影响,并影响良好的团队凝聚力和绩效。定性结果表明,这种形成策略使团队成员之间的关系良好,冲突虽有,但得到了和谐的解决。结论-这表明在团队组建阶段的自主性将是一个很好的实践,可以在行业中进行更多的测试。这些结果可能会给实践者带来新的证据,让他们了解自选团队可能给组织带来的好处和缺点。
{"title":"Joy to the Work: How Does Software Team Formation Strategy Influence Job Satisfaction?","authors":"Sergio Ricardo De Oliveira Cavalcante, B. Gadelha, E. Oliveira, Igor Steinmacher, W. Nakamura, T. Conte","doi":"10.1145/3571473.3571506","DOIUrl":"https://doi.org/10.1145/3571473.3571506","url":null,"abstract":"Background - The main assets of software organizations are their development teams. Several factors impact job satisfaction, such as salary, workload, and autonomy; still, the software team relationship could impact one's job satisfaction. Objective - We aim to understand how software team formation strategy impacts job satisfaction. Method - We analyzed two software team formation strategies: (i) team members selected by a leader, and (ii) team members self-selection. We administered a survey to 66 employees of an R&D organization, comparing the team formation strategies. Results - Our results indicated that, in this context, the self-selection team formation strategy positively impacted job satisfaction and influenced good team cohesion and performance. Qualitative results showed that this formation strategy assembled teams with a good relationship among their members in which conflicts arose but were harmonically solved. Conclusion - This suggests that autonomy in the team formation stage would be good practice and could be more tested in the industry. These results may bring new evidence to practitioners about the benefits and drawbacks that self-selected teams may offer to the organization.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"18 12","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120903232","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
ProTesters: a board game for teaching the testing process 抗议者:用棋盘游戏来教授考试过程
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571503
Gabriel Gonçalves Moreira, S. Reinehr, A. Malucelli, Frederick M. C. van Amstel
Despite being the most used approach in teaching software testing in Brazil, the traditional teaching method might not simulate, facilitate or motivate the learning of the testing process and its activities. As a result, undergraduate students may not understand a basic testing process and its components, nor be motivated to learn about the content. One approach that can facilitate the teaching of the software testing process and promote student motivation is educational games. Although there are several educational games for teaching software testing, no game was foun on literature that addresses the entire testing process, with its roles, artifacts and activities. This work presents the development of an educational game to support and motivate the learning of a basic software testing process. The research method was Design Science Research. For the development of the game, several playtestings were carried out to verify if the new proposal was able to motivate and teach the proposed content. To evaluate the fulfillment of the research objectives, an experiment was performed with 16 participants, and it was possible to verify a gain of specific knowledge of the participants after the experience with the game. In addition, positive effects were observed on motivational aspects perceived by the players with the game for the learning of the themes involved.
尽管是巴西最常用的软件测试教学方法,但传统的教学方法可能无法模拟、促进或激励测试过程及其活动的学习。因此,本科生可能不了解基本的测试过程及其组成部分,也没有动力去学习测试内容。一种可以促进软件测试过程的教学和促进学生动机的方法是教育游戏。虽然有一些教学软件测试的教育游戏,但没有一款游戏是在论述整个测试过程及其角色、工件和活动的文献中发现的。这项工作提出了一个教育游戏的开发,以支持和激励基本软件测试过程的学习。研究方法为设计科学研究。在游戏开发过程中,我们进行了多次游戏测试,以验证新提议是否能够激励并教授提议的内容。为了评估研究目标的实现,我们对16名参与者进行了实验,并有可能验证参与者在体验游戏后获得的特定知识。此外,研究人员还观察到,游戏对玩家学习相关主题的动机方面产生了积极影响。
{"title":"ProTesters: a board game for teaching the testing process","authors":"Gabriel Gonçalves Moreira, S. Reinehr, A. Malucelli, Frederick M. C. van Amstel","doi":"10.1145/3571473.3571503","DOIUrl":"https://doi.org/10.1145/3571473.3571503","url":null,"abstract":"Despite being the most used approach in teaching software testing in Brazil, the traditional teaching method might not simulate, facilitate or motivate the learning of the testing process and its activities. As a result, undergraduate students may not understand a basic testing process and its components, nor be motivated to learn about the content. One approach that can facilitate the teaching of the software testing process and promote student motivation is educational games. Although there are several educational games for teaching software testing, no game was foun on literature that addresses the entire testing process, with its roles, artifacts and activities. This work presents the development of an educational game to support and motivate the learning of a basic software testing process. The research method was Design Science Research. For the development of the game, several playtestings were carried out to verify if the new proposal was able to motivate and teach the proposed content. To evaluate the fulfillment of the research objectives, an experiment was performed with 16 participants, and it was possible to verify a gain of specific knowledge of the participants after the experience with the game. In addition, positive effects were observed on motivational aspects perceived by the players with the game for the learning of the themes involved.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122560861","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
Evaluating Approaches to Selecting Design Thinking Techniques : Quantitative and Qualitative Analysis 选择设计思维技术的评估方法:定量与定性分析
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571482
Maria A. C. Meireles, S. Souza, J. C. Duarte, T. Conte, J. Maldonado
Context: Requirements Engineering (RE) is essential to software quality. Studies have shown that software engineers often make mistakes, such as insufficient or misunderstood requirements. Therefore, it is necessary to support all the RE phases, especially eliciting requirements. In this context, Design Thinking (DT) is commonly used to deal with these problems. DT aims at bringing quality to software development to achieve users’ needs. It has a set of techniques and methods that can help software engineers properly elicit requirements to achieve this goal. However, in the literature, there are several techniques and selecting an appropriate one is not a trivial task. Some approaches support the selection of techniques, including DTA4RE and Selection Universe. Objective: This paper aims to analyze the performance of these two approaches to selecting DT techniques in terms of accuracy. Method: We conducted a controlled experiment to obtain the data. We have applied quantitative and qualitative analysis to the data. Results: Regarding the quantitative results, we found no significant difference in accuracy between the Universe Selection approaches and the DTA4RE. Regarding the qualitative results, we found that grouping the techniques into categories presented by the Selection Universe allowed us to reduce the search time for the techniques from DT since the approach allowed us to associate the system features with the techniques that can be used. Conclusion: We found that the two approaches satisfactorily supported the selection of DT techniques for various requirements elicitation activities. In the participants’ perception, the selection universe was helpful because the approach is intuitive. Also, the categorization of techniques made it easier to find the appropriate techniques for the proposed scenarios.
背景:需求工程(RE)对于软件质量是必不可少的。研究表明,软件工程师经常会犯错误,比如需求不足或误解。因此,有必要支持所有的RE阶段,特别是激发需求。在这种情况下,设计思维(DT)通常用于处理这些问题。DT旨在为软件开发带来质量,以满足用户的需求。它有一组技术和方法,可以帮助软件工程师正确地引出需求来实现这一目标。然而,在文献中,有几种技术,选择一种合适的技术并不是一项微不足道的任务。一些方法支持技术选择,包括DTA4RE和selection Universe。目的:本文旨在分析这两种方法在选择DT技术的准确性方面的表现。方法:采用对照实验方法获取数据。我们对数据进行了定量和定性分析。结果:在定量结果方面,我们发现宇宙选择方法与DTA4RE之间的准确性没有显著差异。关于定性结果,我们发现将技术分组到Selection Universe所呈现的类别中,使我们能够减少从DT中搜索技术的时间,因为该方法允许我们将系统特征与可以使用的技术联系起来。结论:我们发现这两种方法令人满意地支持了DT技术在各种需求激发活动中的选择。在参与者的感知中,选择范围是有帮助的,因为这种方法是直观的。此外,技术的分类使得为建议的场景找到适当的技术变得更加容易。
{"title":"Evaluating Approaches to Selecting Design Thinking Techniques : Quantitative and Qualitative Analysis","authors":"Maria A. C. Meireles, S. Souza, J. C. Duarte, T. Conte, J. Maldonado","doi":"10.1145/3571473.3571482","DOIUrl":"https://doi.org/10.1145/3571473.3571482","url":null,"abstract":"Context: Requirements Engineering (RE) is essential to software quality. Studies have shown that software engineers often make mistakes, such as insufficient or misunderstood requirements. Therefore, it is necessary to support all the RE phases, especially eliciting requirements. In this context, Design Thinking (DT) is commonly used to deal with these problems. DT aims at bringing quality to software development to achieve users’ needs. It has a set of techniques and methods that can help software engineers properly elicit requirements to achieve this goal. However, in the literature, there are several techniques and selecting an appropriate one is not a trivial task. Some approaches support the selection of techniques, including DTA4RE and Selection Universe. Objective: This paper aims to analyze the performance of these two approaches to selecting DT techniques in terms of accuracy. Method: We conducted a controlled experiment to obtain the data. We have applied quantitative and qualitative analysis to the data. Results: Regarding the quantitative results, we found no significant difference in accuracy between the Universe Selection approaches and the DTA4RE. Regarding the qualitative results, we found that grouping the techniques into categories presented by the Selection Universe allowed us to reduce the search time for the techniques from DT since the approach allowed us to associate the system features with the techniques that can be used. Conclusion: We found that the two approaches satisfactorily supported the selection of DT techniques for various requirements elicitation activities. In the participants’ perception, the selection universe was helpful because the approach is intuitive. Also, the categorization of techniques made it easier to find the appropriate techniques for the proposed scenarios.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131693517","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
Analyzing Test Smells Refactoring from a Developers Perspective 从开发人员的角度分析测试气味重构
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571487
Humberto Damasceno, Carla Bezerra, E. Coutinho, Ivan Machado
Test smells represent a set of poorly designed tests, which can harm a test code’s maintenance and quality criteria. Although fundamental steps to understand test smells have been investigated, there is still an evident lack of studies evaluating the impact of test smell refactoring from internal quality attributes, such as size, cohesion, coupling, and complexity. In addition, the literature still lacks research that addresses the difficulties developers encounter during test smell refactoring. The paper investigates the impact of test smell refactoring from developers’ perspectives and internal quality attributes. We investigated the perceptions and difficulties encountered by 20 developers while removing 5 types of test smells in 4 open-source projects over two months. Through this experiment, we analyzed: (i) the impact that test smell refactoring has on internal quality attributes; (ii) developers’ perception of test smells as actual problems within a software system; and (iii) main difficulties encountered by developers during test smell refactoring. Our findings can help developers design a prioritization scheme for test smell refactoring and make them aware of the real benefits of test smell refactoring.
测试气味代表了一组设计不良的测试,这可能会损害测试代码的维护和质量标准。尽管已经研究了理解测试气味的基本步骤,但仍然明显缺乏从内部质量属性(如大小、内聚、耦合和复杂性)评估测试气味重构影响的研究。此外,文献中仍然缺乏解决开发人员在测试气味重构过程中遇到的困难的研究。本文从开发人员的角度和内部质量属性研究了测试气味重构的影响。我们调查了20名开发人员在两个月内消除4个开源项目中的5种测试气味时遇到的感受和困难。通过本实验,我们分析了:(1)测试气味重构对内部质量属性的影响;(ii)开发人员认为测试气味是软件系统中的实际问题;(iii)开发人员在测试气味重构过程中遇到的主要困难。我们的发现可以帮助开发人员为测试气味重构设计优先级方案,并让他们意识到测试气味重构的真正好处。
{"title":"Analyzing Test Smells Refactoring from a Developers Perspective","authors":"Humberto Damasceno, Carla Bezerra, E. Coutinho, Ivan Machado","doi":"10.1145/3571473.3571487","DOIUrl":"https://doi.org/10.1145/3571473.3571487","url":null,"abstract":"Test smells represent a set of poorly designed tests, which can harm a test code’s maintenance and quality criteria. Although fundamental steps to understand test smells have been investigated, there is still an evident lack of studies evaluating the impact of test smell refactoring from internal quality attributes, such as size, cohesion, coupling, and complexity. In addition, the literature still lacks research that addresses the difficulties developers encounter during test smell refactoring. The paper investigates the impact of test smell refactoring from developers’ perspectives and internal quality attributes. We investigated the perceptions and difficulties encountered by 20 developers while removing 5 types of test smells in 4 open-source projects over two months. Through this experiment, we analyzed: (i) the impact that test smell refactoring has on internal quality attributes; (ii) developers’ perception of test smells as actual problems within a software system; and (iii) main difficulties encountered by developers during test smell refactoring. Our findings can help developers design a prioritization scheme for test smell refactoring and make them aware of the real benefits of test smell refactoring.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130373026","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
PRO-UX: System Redesign Process for Improving the UX PRO-UX:改善用户体验的系统重新设计过程
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571501
Joseane O. V. Paiva, Bosco Borges, Paulo Duarte, Ismayle S. Santos, Rossana M. C. Andrade, Valéria Lelli
System redesign is a software modernization strategy that consists of restructuring a solution to provide a new graphical interface, improving the user experience, and using modern technologies while preserving relevant system functionalities. When it comes to enterprise applications, the challenge for redesign becomes greater. It is necessary to ensure that the system can operate according to existing business rules and that its operation will not compromise the integrity of the enterprise. This paper presents a process for redesigning systems to improve the user experience. We also describe a case study where we applied this process to redesign an enterprise application and share some lessons learned during the application redesign.
系统重新设计是一种软件现代化策略,它包括重新构建解决方案以提供新的图形界面、改进用户体验以及在保留相关系统功能的同时使用现代技术。当涉及到企业应用程序时,重新设计的挑战变得更大。有必要确保系统能够按照现有的业务规则运行,并且其运行不会损害企业的完整性。本文提出了一个重新设计系统以改善用户体验的过程。我们还描述了一个案例研究,在这个案例中,我们应用这个过程重新设计了一个企业应用程序,并分享了在重新设计应用程序过程中获得的一些经验教训。
{"title":"PRO-UX: System Redesign Process for Improving the UX","authors":"Joseane O. V. Paiva, Bosco Borges, Paulo Duarte, Ismayle S. Santos, Rossana M. C. Andrade, Valéria Lelli","doi":"10.1145/3571473.3571501","DOIUrl":"https://doi.org/10.1145/3571473.3571501","url":null,"abstract":"System redesign is a software modernization strategy that consists of restructuring a solution to provide a new graphical interface, improving the user experience, and using modern technologies while preserving relevant system functionalities. When it comes to enterprise applications, the challenge for redesign becomes greater. It is necessary to ensure that the system can operate according to existing business rules and that its operation will not compromise the integrity of the enterprise. This paper presents a process for redesigning systems to improve the user experience. We also describe a case study where we applied this process to redesign an enterprise application and share some lessons learned during the application redesign.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123461584","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
Using Real Code to Teach Good Programming Practices 使用真实代码教授良好的编程实践
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571504
R. Durelli, Renato Cordeiro, A. Goldman
“Talk is cheap. Show me the code”. Using real code examples is a way of engaging students while teaching Software Engineering. By applying this technique, this paper describes the experience of introducing good development practices in the course “Programming Techniques II”, offered for students of the Bachelor in Computer Science of the Institute of Mathematics and Statistics of the University of São Paulo (IME-USP). At the beginning of the course, students received two exercises: in the first, each student should present a code snippet that they consider well written; in the second, a code snippet that they consider problematic. The snippets were then analyzed in the classroom – with active participation of the students – to map good and bad practices. This process was repeated until reaching theoretical saturation. In the end, the discussions converged on many techniques used to write clean code, thus validating the use of a constructive approach to teach good development practices.
“空谈是廉价的。给我看代码。”在教授软件工程时,使用真实的代码示例是吸引学生的一种方式。通过应用这种技术,本文描述了在圣保罗大学数学与统计研究所(IME-USP)计算机科学学士学位课程“编程技术II”中引入良好开发实践的经验。在课程开始时,学生们接受了两个练习:第一个,每个学生都要提交一段他们认为写得很好的代码片段;在第二种情况下,他们认为有问题的代码片段。然后,在学生的积极参与下,在课堂上分析这些片段,以绘制出好的和坏的做法。这个过程不断重复,直到达到理论上的饱和。最后,讨论集中在许多用于编写干净代码的技术上,从而验证了使用建设性方法来教授良好的开发实践。
{"title":"Using Real Code to Teach Good Programming Practices","authors":"R. Durelli, Renato Cordeiro, A. Goldman","doi":"10.1145/3571473.3571504","DOIUrl":"https://doi.org/10.1145/3571473.3571504","url":null,"abstract":"“Talk is cheap. Show me the code”. Using real code examples is a way of engaging students while teaching Software Engineering. By applying this technique, this paper describes the experience of introducing good development practices in the course “Programming Techniques II”, offered for students of the Bachelor in Computer Science of the Institute of Mathematics and Statistics of the University of São Paulo (IME-USP). At the beginning of the course, students received two exercises: in the first, each student should present a code snippet that they consider well written; in the second, a code snippet that they consider problematic. The snippets were then analyzed in the classroom – with active participation of the students – to map good and bad practices. This process was repeated until reaching theoretical saturation. In the end, the discussions converged on many techniques used to write clean code, thus validating the use of a constructive approach to teach good development practices.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"96 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125984510","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
Enriching user stories with usability features in a remote agile project: a case study 在远程敏捷项目中用可用性特性丰富用户故事:一个案例研究
Pub Date : 2022-11-07 DOI: 10.1145/3571473.3571496
A. B. Marques, Alex Felipe Ferreira Costa, I. Santos, Rossana Andrade
Considering usability aspects in the early phases of software development can avoid rework to solve usability problems identified late. We can adopt Requirements Engineering methods to identify usability requirements that explore the end users’ perspectives and usage preferences. However, usability evaluation methods are more commonly adopted in the industry than early usability methods to define usability requirements. Recently, the USARP method was proposed for usability requirements elicitation and specification. USARP suggests the combined use of personas, user stories, and usability guidelines. This paper aims to report a case study on the USARP adoption by a remote agile team in the industry. USARP supports the team in defining UI/UX requirements for a web management tool. A survey enables us to investigate the teams’ perception of the usefulness of the USARP. The results showed that USARP improved the team’s effectiveness in usability requirements elicitation. USARP enabled identifying 120 UI/UX aspects related to system functionalities. We expect this experience report can contribute to disseminating early usability methods in industry practice.
在软件开发的早期阶段考虑可用性方面可以避免返工来解决后期发现的可用性问题。我们可以采用需求工程方法来识别探索最终用户视角和使用偏好的可用性需求。然而,在行业中,可用性评估方法比早期的可用性方法更常被采用来定义可用性需求。最近,USARP方法被提出用于可用性需求的激发和规范。USARP建议结合使用人物角色、用户故事和可用性指南。本文旨在报告一个行业内远程敏捷团队采用USARP的案例研究。USARP支持团队定义web管理工具的UI/UX需求。一项调查使我们能够调查团队对USARP有用性的看法。结果表明,USARP提高了团队在可用性需求引出方面的效率。USARP启用识别120个与系统功能相关的UI/UX方面。我们希望这份经验报告能够有助于在行业实践中传播早期可用性方法。
{"title":"Enriching user stories with usability features in a remote agile project: a case study","authors":"A. B. Marques, Alex Felipe Ferreira Costa, I. Santos, Rossana Andrade","doi":"10.1145/3571473.3571496","DOIUrl":"https://doi.org/10.1145/3571473.3571496","url":null,"abstract":"Considering usability aspects in the early phases of software development can avoid rework to solve usability problems identified late. We can adopt Requirements Engineering methods to identify usability requirements that explore the end users’ perspectives and usage preferences. However, usability evaluation methods are more commonly adopted in the industry than early usability methods to define usability requirements. Recently, the USARP method was proposed for usability requirements elicitation and specification. USARP suggests the combined use of personas, user stories, and usability guidelines. This paper aims to report a case study on the USARP adoption by a remote agile team in the industry. USARP supports the team in defining UI/UX requirements for a web management tool. A survey enables us to investigate the teams’ perception of the usefulness of the USARP. The results showed that USARP improved the team’s effectiveness in usability requirements elicitation. USARP enabled identifying 120 UI/UX aspects related to system functionalities. We expect this experience report can contribute to disseminating early usability methods in industry practice.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121717910","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
期刊
Proceedings of the XXI Brazilian Symposium on Software Quality
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1