首页 > 最新文献

2015 29th Brazilian Symposium on Software Engineering最新文献

英文 中文
Influence of the Review of Executed Activities Utilizing Planning Poker 利用计划扑克对已执行活动进行审查的影响
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.26
André Tissot, M. C. F. P. Emer, L. Bastos
Background -- The software effort estimation research area aims to improve the accuracy of this estimation in software projects and activities. Aims -- This study describes the development and usage of a web application to collect the generated data from the Planning Poker estimation process and the analysis of the collected data to investigate the impact of revising previous estimates when conducting similar new estimates in a Planning Poker context. Method -- Software activities were estimated by UTFPR students, using Planning Poker, with and without revising previous similar activities, storing data regarding the decision-making process. And the collected data was used to investigate the impact that revising similar executed activities have in the software effort estimates' accuracy. Obtained Results -- The UTFPR students were divided into 14 groups. Eight of them showed accuracy increase in more than half of their estimates. Three of them had almost the same accuracy in more than half of their estimates. And only three of them had accuracy decrease in more than half of their estimates. Conclusion -- Reviewing the similar executed software activities, when using Planning Poker, led to more accurate software estimates in most cases, and, because of that, can improve the software development process.
背景——软件工作量评估研究领域旨在提高软件项目和活动中工作量评估的准确性。目的——本研究描述了一个web应用程序的开发和使用,用于收集Planning Poker估算过程中生成的数据,并对收集到的数据进行分析,以调查在Planning Poker环境中进行类似的新估算时修改先前估算的影响。方法-软件活动由UTFPR学生使用Planning Poker进行估计,在修改或不修改之前的类似活动的情况下,存储有关决策过程的数据。收集到的数据用于调查修改类似的已执行活动对软件工作估计准确性的影响。获得的结果——UTFPR学生被分为14组。其中8人的估计准确度提高了一半以上。其中三个人在一半以上的估计中几乎有相同的准确性。其中只有三个人的估计准确性下降了一半以上。结论——当使用Planning Poker时,回顾类似的已执行的软件活动,在大多数情况下会导致更准确的软件评估,并且,正因为如此,可以改进软件开发过程。
{"title":"Influence of the Review of Executed Activities Utilizing Planning Poker","authors":"André Tissot, M. C. F. P. Emer, L. Bastos","doi":"10.1109/SBES.2015.26","DOIUrl":"https://doi.org/10.1109/SBES.2015.26","url":null,"abstract":"Background -- The software effort estimation research area aims to improve the accuracy of this estimation in software projects and activities. Aims -- This study describes the development and usage of a web application to collect the generated data from the Planning Poker estimation process and the analysis of the collected data to investigate the impact of revising previous estimates when conducting similar new estimates in a Planning Poker context. Method -- Software activities were estimated by UTFPR students, using Planning Poker, with and without revising previous similar activities, storing data regarding the decision-making process. And the collected data was used to investigate the impact that revising similar executed activities have in the software effort estimates' accuracy. Obtained Results -- The UTFPR students were divided into 14 groups. Eight of them showed accuracy increase in more than half of their estimates. Three of them had almost the same accuracy in more than half of their estimates. And only three of them had accuracy decrease in more than half of their estimates. Conclusion -- Reviewing the similar executed software activities, when using Planning Poker, led to more accurate software estimates in most cases, and, because of that, can improve the software development process.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122768766","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
Why Statically Estimate Code Coverage is So Hard? A Report of Lessons Learned 为什么静态估计代码覆盖率如此困难?经验教训报告
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.28
M. Aniche, G. Oliva, M. Gerosa
The calculation of test coverage is often unfeasible for large-scale mining software repositories studies, as its computation requires building each project and executing their test suites. Because of that, we have been working on heuristics to calculate code coverage based on static code analysis. However, our results have been disappointing so far. In this paper, we present our approach to the problem and an evaluation involving 18 open source projects (around 2,700 classes) from the Apache Software Foundation. Results show that our approach provides acceptable results for only 50% of all classes. We believe researchers can learn from our mistakes and possibly derive a better approach. We advise researchers who need to use code coverage in their studies to select projects with a well-defined build system, such as Maven.
对于大规模的挖掘软件存储库研究来说,测试覆盖率的计算通常是不可行的,因为它的计算需要构建每个项目并执行它们的测试套件。正因为如此,我们一直在研究基于静态代码分析计算代码覆盖率的启发式方法。然而,到目前为止,我们的结果令人失望。在本文中,我们提出了解决这个问题的方法,并对Apache软件基金会的18个开源项目(大约2700个类)进行了评估。结果表明,我们的方法仅对所有类别的50%提供了可接受的结果。我们相信研究人员可以从我们的错误中吸取教训,并可能得出更好的方法。我们建议在研究中需要使用代码覆盖的研究人员选择具有良好定义的构建系统的项目,例如Maven。
{"title":"Why Statically Estimate Code Coverage is So Hard? A Report of Lessons Learned","authors":"M. Aniche, G. Oliva, M. Gerosa","doi":"10.1109/SBES.2015.28","DOIUrl":"https://doi.org/10.1109/SBES.2015.28","url":null,"abstract":"The calculation of test coverage is often unfeasible for large-scale mining software repositories studies, as its computation requires building each project and executing their test suites. Because of that, we have been working on heuristics to calculate code coverage based on static code analysis. However, our results have been disappointing so far. In this paper, we present our approach to the problem and an evaluation involving 18 open source projects (around 2,700 classes) from the Apache Software Foundation. Results show that our approach provides acceptable results for only 50% of all classes. We believe researchers can learn from our mistakes and possibly derive a better approach. We advise researchers who need to use code coverage in their studies to select projects with a well-defined build system, such as Maven.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128334318","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
A Mutation and Multi-objective Test Data Generation Approach for Feature Testing of Software Product Lines 面向软件产品线特征测试的突变多目标测试数据生成方法
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.17
Rui Angelo Matnei Filho, S. Vergilio
Mutation approaches have been recently applied for feature testing of Software Product Lines (SPLs). The idea is to select products, associated to mutation operators that describe possible faults in the Feature Model (FM). In this way, the operators and mutation score can be used to evaluate and generate a test set, that is a set of SPL products to be tested. However, the generation of test sets to kill all the mutants with a reduced, possible minimum, number of products is a complex task. To solve such problem, this paper introduces a multiobjective approach that includes a representation to the problem, search operators and two objectives related to the number of test cases and dead mutants. The approach was implemented with three representative multi-objective and evolutionary algorithms: NSGA-II, SPEA2 and IBEA. The conducted evaluation analyses the solutions obtained and compares the algorithms. An advantage of this approach is to offer a set of good solutions to the tester with a reduced number of products and high mutation score values, that is, with high probability of revealing faults described by the mutation testing.
突变方法最近被应用于软件产品线的特性测试。其思想是选择与描述特征模型(FM)中可能故障的突变算子相关联的产品。这样,就可以利用算子和突变分数来评价和生成一个测试集,即一组待测的SPL产品。然而,用尽可能少的产品数量来杀死所有突变体的测试集的生成是一项复杂的任务。为了解决这一问题,本文引入了一种多目标方法,该方法包括问题的表示、搜索算子和与测试用例数量和死亡突变体数量相关的两个目标。该方法采用NSGA-II、SPEA2和IBEA三种具有代表性的多目标进化算法实现。所进行的评价分析了得到的解,并对算法进行了比较。这种方法的一个优点是为测试人员提供了一组良好的解决方案,这些解决方案具有较少的产品数量和较高的突变得分值,也就是说,具有高概率揭示突变测试所描述的故障。
{"title":"A Mutation and Multi-objective Test Data Generation Approach for Feature Testing of Software Product Lines","authors":"Rui Angelo Matnei Filho, S. Vergilio","doi":"10.1109/SBES.2015.17","DOIUrl":"https://doi.org/10.1109/SBES.2015.17","url":null,"abstract":"Mutation approaches have been recently applied for feature testing of Software Product Lines (SPLs). The idea is to select products, associated to mutation operators that describe possible faults in the Feature Model (FM). In this way, the operators and mutation score can be used to evaluate and generate a test set, that is a set of SPL products to be tested. However, the generation of test sets to kill all the mutants with a reduced, possible minimum, number of products is a complex task. To solve such problem, this paper introduces a multiobjective approach that includes a representation to the problem, search operators and two objectives related to the number of test cases and dead mutants. The approach was implemented with three representative multi-objective and evolutionary algorithms: NSGA-II, SPEA2 and IBEA. The conducted evaluation analyses the solutions obtained and compares the algorithms. An advantage of this approach is to offer a set of good solutions to the tester with a reduced number of products and high mutation score values, that is, with high probability of revealing faults described by the mutation testing.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134575673","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}
引用次数: 17
Analysis of Scenarios with Petri-Net Models Petri-Net模型情景分析
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.13
Edgar Sarmiento, Julio Cesar Sampaio do Prado Leite, Eduardo Almentero
Requirements analysis plays a key role in the software development process. Scenario-based representation is often used for software requirements specification (SRS). Scenarios written in natural language may be ambiguous, and, sometimes, inaccurate. This problem is partially due to the fact that interactions among scenarios are rarely represented explicitly. As scenarios are used as input to subsequent activities of the software development process (SD), it is very important to enable their analysis, especially to detect flaws or problems due to wrong or missing information. This work proposes a Petri-Net based approach as an effective way to analyze the acquired scenarios. To enable the automated analysis, scenarios are translated into equivalent Place/Transition Petri-Nets. Scenarios and their resulting Petri-Nets can be automatically analyzed to evaluate some properties related to correctness, consistency and completeness. The identified problems can be traced back to the scenarios, allowing their revision. We also discuss how correctness, consistency and completeness of scenario-based SRSs can be decomposed in related properties using the NFR approach. Proposal's workability is demonstrated through two running examples.
需求分析在软件开发过程中起着关键的作用。基于场景的表示通常用于软件需求规范(SRS)。用自然语言编写的场景可能模棱两可,有时甚至不准确。这个问题部分是由于场景之间的交互很少被显式表示。当场景被用作软件开发过程(SD)后续活动的输入时,启用它们的分析是非常重要的,特别是检测由于错误或缺少信息而导致的缺陷或问题。这项工作提出了一种基于Petri-Net的方法,作为分析获取场景的有效方法。为了实现自动化分析,场景被转换成等效的Place/Transition Petri-Nets。场景及其生成的Petri-Nets可以自动分析,以评估与正确性、一致性和完整性相关的一些属性。已识别的问题可以追溯到场景,从而允许对其进行修订。我们还讨论了如何使用NFR方法将基于场景的srs的正确性、一致性和完整性分解为相关属性。通过两个运行实例验证了该方案的可行性。
{"title":"Analysis of Scenarios with Petri-Net Models","authors":"Edgar Sarmiento, Julio Cesar Sampaio do Prado Leite, Eduardo Almentero","doi":"10.1109/SBES.2015.13","DOIUrl":"https://doi.org/10.1109/SBES.2015.13","url":null,"abstract":"Requirements analysis plays a key role in the software development process. Scenario-based representation is often used for software requirements specification (SRS). Scenarios written in natural language may be ambiguous, and, sometimes, inaccurate. This problem is partially due to the fact that interactions among scenarios are rarely represented explicitly. As scenarios are used as input to subsequent activities of the software development process (SD), it is very important to enable their analysis, especially to detect flaws or problems due to wrong or missing information. This work proposes a Petri-Net based approach as an effective way to analyze the acquired scenarios. To enable the automated analysis, scenarios are translated into equivalent Place/Transition Petri-Nets. Scenarios and their resulting Petri-Nets can be automatically analyzed to evaluate some properties related to correctness, consistency and completeness. The identified problems can be traced back to the scenarios, allowing their revision. We also discuss how correctness, consistency and completeness of scenario-based SRSs can be decomposed in related properties using the NFR approach. Proposal's workability is demonstrated through two running examples.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124746650","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}
引用次数: 4
A Method to Derive Metric Thresholds for Software Product Lines 一种推导软件产品线度量阈值的方法
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.9
Gustavo Vale, Eduardo Figueiredo
A software product line (SPL) is a set of software systems that share a common and variable set of components (features). Software metrics provide basic means to quantify several quality aspects of SPL components. However, the effectiveness of the SPL measurement process is directly dependent on the definition of reliable thresholds. If thresholds are not properly defined, it is difficult to actually know whether a given metric value indicates a potential problem in the component implementation. There are several methods to derive thresholds for software metrics. However, there is little understanding about their appropriateness for the context of SPLs. This paper aims to propose a method to derive thresholds in the SPL context. Our method is evaluated in terms of recall and precision using two code smells (God Class and Lazy Class) detection strategies. The evaluation of our method is performed based on a benchmark of 33 SPLs and the results were compared with a method (baseline) with the same purpose used in the context of SPLs (not proposed). The results show that our method has better recall when compared with baseline.
软件产品线(SPL)是一组软件系统,它们共享一组通用且可变的组件(特性)。软件度量提供了量化SPL组件的几个质量方面的基本方法。然而,声压级测量过程的有效性直接取决于可靠阈值的定义。如果没有正确定义阈值,则很难实际知道给定的度量值是否表明组件实现中的潜在问题。有几种方法可以推导软件度量的阈值。然而,人们对它们是否适合SPLs的背景了解甚少。本文旨在提出一种在SPL环境下推导阈值的方法。我们的方法使用两种代码气味(God Class和Lazy Class)检测策略来评估召回率和精确度。对我们的方法进行评估是基于33个SPLs的基准,并将结果与在SPLs背景下使用的具有相同目的的方法(基线)进行比较(未提议)。结果表明,与基线相比,我们的方法具有更好的召回率。
{"title":"A Method to Derive Metric Thresholds for Software Product Lines","authors":"Gustavo Vale, Eduardo Figueiredo","doi":"10.1109/SBES.2015.9","DOIUrl":"https://doi.org/10.1109/SBES.2015.9","url":null,"abstract":"A software product line (SPL) is a set of software systems that share a common and variable set of components (features). Software metrics provide basic means to quantify several quality aspects of SPL components. However, the effectiveness of the SPL measurement process is directly dependent on the definition of reliable thresholds. If thresholds are not properly defined, it is difficult to actually know whether a given metric value indicates a potential problem in the component implementation. There are several methods to derive thresholds for software metrics. However, there is little understanding about their appropriateness for the context of SPLs. This paper aims to propose a method to derive thresholds in the SPL context. Our method is evaluated in terms of recall and precision using two code smells (God Class and Lazy Class) detection strategies. The evaluation of our method is performed based on a benchmark of 33 SPLs and the results were compared with a method (baseline) with the same purpose used in the context of SPLs (not proposed). The results show that our method has better recall when compared with baseline.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121390771","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}
引用次数: 29
Increasing the Self-Efficacy of Newcomers to Open Source Software Projects 提高开源软件项目新人的自我效能
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.10
Igor Steinmacher, I. Wiese, T. Conte, M. Gerosa
Community-based Open Source Software (OSS) projects are usually self-organized and dynamic, receiving contributions from distributed volunteers. These communities' survival, long-term success, and continuity demand a constant influx of newcomers. However, newcomers face many barriers when making their first contribution to an OSS project, leading in many cases to dropouts. Therefore, a major challenge for OSS projects is to provide ways to support newcomers during their first contribution. In this paper, our goal was to evaluate how the newcomers' perceived efficacy is influenced by the use of an environment that organizes the project information for developers who want to place their first contribution to an OSS project. To accomplish this goal, we created FLOSS coach, a portal aiming to support newcomers to OSS projects, which was implemented based on a model of barriers proposed in previous research. Then, we conducted a study, in which 46 students, split in case and control group, were asked to contribute to an OSS project. We assessed the newcomers' self-efficacy by conducting a questionnaire before and after the assignment. We found that presenting the information according to the model of barriers had a positive influence on newcomers' self-efficacy, empowered the newcomers, making them more confident and comfortable during the contribution process. However, there is also some indication that FLOSS coach did not lower the technical barriers.
基于社区的开源软件(OSS)项目通常是自组织的和动态的,接受来自分布的志愿者的贡献。这些社区的生存、长期成功和持续需要不断涌入的新来者。然而,新手在对OSS项目做出第一次贡献时面临许多障碍,在许多情况下导致退出。因此,OSS项目的一个主要挑战是在新人第一次贡献时提供支持。在本文中,我们的目标是评估新人的感知效能如何受到使用环境的影响,该环境为想要将他们的第一个贡献放在OSS项目中的开发人员组织项目信息。为了实现这一目标,我们创建了FLOSS教练,这是一个旨在支持OSS项目新手的门户,它是基于先前研究中提出的障碍模型实现的。然后,我们进行了一项研究,其中46名学生,分为案例组和控制组,被要求为一个OSS项目做出贡献。我们通过在任务前后进行问卷调查来评估新人的自我效能感。我们发现,根据障碍模型呈现信息对新人的自我效能感有积极的影响,赋予新人力量,使他们在贡献过程中更加自信和舒适。然而,也有迹象表明,FLOSS教练并没有降低技术壁垒。
{"title":"Increasing the Self-Efficacy of Newcomers to Open Source Software Projects","authors":"Igor Steinmacher, I. Wiese, T. Conte, M. Gerosa","doi":"10.1109/SBES.2015.10","DOIUrl":"https://doi.org/10.1109/SBES.2015.10","url":null,"abstract":"Community-based Open Source Software (OSS) projects are usually self-organized and dynamic, receiving contributions from distributed volunteers. These communities' survival, long-term success, and continuity demand a constant influx of newcomers. However, newcomers face many barriers when making their first contribution to an OSS project, leading in many cases to dropouts. Therefore, a major challenge for OSS projects is to provide ways to support newcomers during their first contribution. In this paper, our goal was to evaluate how the newcomers' perceived efficacy is influenced by the use of an environment that organizes the project information for developers who want to place their first contribution to an OSS project. To accomplish this goal, we created FLOSS coach, a portal aiming to support newcomers to OSS projects, which was implemented based on a model of barriers proposed in previous research. Then, we conducted a study, in which 46 students, split in case and control group, were asked to contribute to an OSS project. We assessed the newcomers' self-efficacy by conducting a questionnaire before and after the assignment. We found that presenting the information according to the model of barriers had a positive influence on newcomers' self-efficacy, empowered the newcomers, making them more confident and comfortable during the contribution process. However, there is also some indication that FLOSS coach did not lower the technical barriers.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131096778","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}
引用次数: 7
Evaluating Collaborative Practices in Acquiring Programming Skills: Findings of a Controlled Experiment 评估获得编程技能的协作实践:一项对照实验的结果
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.24
Bernardo Estácio, R. Oliveira, S. Marczak, Marcos Kalinowski, Alessandro F. Garcia, R. Prikladnicki, C. Lucena
[Context] Collaborative programming is achieved when two or more programmers develop software together. Pair Programming and Coding Dojo Randori are two increasingly adopted practices for collaborative programming. While the former encourages the collaboration in pairs, the latter promotes collaboration in groups. However, there is no broad understanding about the impact of these practices on the acquisition of programming skills. [Goal] In this study, we empirically compare the influence of both collaborative practices on two essential aspects of skill acquisition: motivation and learning. [Method] We conducted a controlled experiment with novice programmers applying solo programming and both collaborative practices to three different programming exercises using a crossed design. [Results] Our results showed that, while both practices outperformed solo programming, they also presented complementary benefits on acquiring programming skills. For instance, the programmers inserted less code anomalies in Coding Dojo Randori sessions than in Pair Programming sessions. On the other hand, the motivation was often considered to be stronger in the latter than in the former. [Conclusions] Our results suggest that the use of collaborative practices is particularly promising for acquiring programming skills, when programmers have little or no practical experience with software development.
当两个或多个程序员一起开发软件时,协作编程就实现了。结对编程和Dojo Randori编码是两种越来越被采用的协作编程实践。前者鼓励结对合作,后者则促进团队合作。然而,对于这些实践对获得编程技能的影响还没有广泛的理解。[目的]在本研究中,我们实证比较了两种合作实践对技能习得的两个基本方面:动机和学习的影响。[方法]我们对新手程序员进行了一项对照实验,使用交叉设计将单独编程和协作实践应用于三种不同的编程练习。[结果]我们的结果表明,虽然这两种实践都优于单独编程,但它们在获得编程技能方面也表现出互补的好处。例如,程序员在Coding Dojo Randori会话中插入的代码异常比在结对编程会话中插入的代码异常要少。另一方面,后者的动机通常被认为比前者更强。[结论]我们的结果表明,当程序员很少或没有软件开发的实际经验时,协作实践的使用对于获得编程技能特别有希望。
{"title":"Evaluating Collaborative Practices in Acquiring Programming Skills: Findings of a Controlled Experiment","authors":"Bernardo Estácio, R. Oliveira, S. Marczak, Marcos Kalinowski, Alessandro F. Garcia, R. Prikladnicki, C. Lucena","doi":"10.1109/SBES.2015.24","DOIUrl":"https://doi.org/10.1109/SBES.2015.24","url":null,"abstract":"[Context] Collaborative programming is achieved when two or more programmers develop software together. Pair Programming and Coding Dojo Randori are two increasingly adopted practices for collaborative programming. While the former encourages the collaboration in pairs, the latter promotes collaboration in groups. However, there is no broad understanding about the impact of these practices on the acquisition of programming skills. [Goal] In this study, we empirically compare the influence of both collaborative practices on two essential aspects of skill acquisition: motivation and learning. [Method] We conducted a controlled experiment with novice programmers applying solo programming and both collaborative practices to three different programming exercises using a crossed design. [Results] Our results showed that, while both practices outperformed solo programming, they also presented complementary benefits on acquiring programming skills. For instance, the programmers inserted less code anomalies in Coding Dojo Randori sessions than in Pair Programming sessions. On the other hand, the motivation was often considered to be stronger in the latter than in the former. [Conclusions] Our results suggest that the use of collaborative practices is particularly promising for acquiring programming skills, when programmers have little or no practical experience with software development.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116662417","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}
引用次数: 19
Automatic Spreadsheet Generation from Conceptual Models 从概念模型自动生成电子表格
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.11
Léo Antunes, A. L. Correa, M. Barros
The flexibility and ease-of-use of spreadsheets allow users with little CS background to build computational solutions to solve their problems. However, inexperienced users may build erroneous spreadsheets. Modeling is commonly used in software development to allow users to visualize, communicate, and validate different aspects of a system before starting its construction. This work proposes a Model-Driven Engineering (MDE) approach that automatically generates spreadsheets from conceptual models aiming to reduce the number of errors introduced by users while using spreadsheets. Initially, we designed and executed an empirical study to identify the most common errors users commit when developing spreadsheets. The results of this study have shown that even users who classify themselves as experienced spreadsheet developers commit a large number of errors while developing a spreadsheet. Also, it has shown that formula-related errors are the most common errors introduced by users (55%). A second study involved humans using a spreadsheet generated by our approach and showed initial evidence that the approach can build spreadsheets that avoid the introduction of several types of errors often present in spreadsheets manually created by users. In this sense, we observed 98% correct answers to 234 questions involving spreadsheet manipulation.
电子表格的灵活性和易用性允许几乎没有CS背景的用户构建计算解决方案来解决他们的问题。然而,缺乏经验的用户可能会构建错误的电子表格。建模通常用于软件开发,允许用户在开始构建系统之前可视化、交流和验证系统的不同方面。这项工作提出了一种模型驱动工程(MDE)方法,该方法从概念模型自动生成电子表格,旨在减少用户在使用电子表格时引入的错误数量。最初,我们设计并执行了一项实证研究,以确定用户在开发电子表格时最常犯的错误。这项研究的结果表明,即使是那些将自己归类为经验丰富的电子表格开发人员的用户,在开发电子表格时也会犯大量错误。此外,它还表明,公式相关的错误是用户引入的最常见的错误(55%)。第二项研究涉及人类使用我们的方法生成的电子表格,并显示了初步证据,表明该方法可以构建电子表格,避免引入用户手动创建的电子表格中经常出现的几种错误。从这个意义上说,我们观察到涉及电子表格操作的234个问题有98%的正确答案。
{"title":"Automatic Spreadsheet Generation from Conceptual Models","authors":"Léo Antunes, A. L. Correa, M. Barros","doi":"10.1109/SBES.2015.11","DOIUrl":"https://doi.org/10.1109/SBES.2015.11","url":null,"abstract":"The flexibility and ease-of-use of spreadsheets allow users with little CS background to build computational solutions to solve their problems. However, inexperienced users may build erroneous spreadsheets. Modeling is commonly used in software development to allow users to visualize, communicate, and validate different aspects of a system before starting its construction. This work proposes a Model-Driven Engineering (MDE) approach that automatically generates spreadsheets from conceptual models aiming to reduce the number of errors introduced by users while using spreadsheets. Initially, we designed and executed an empirical study to identify the most common errors users commit when developing spreadsheets. The results of this study have shown that even users who classify themselves as experienced spreadsheet developers commit a large number of errors while developing a spreadsheet. Also, it has shown that formula-related errors are the most common errors introduced by users (55%). A second study involved humans using a spreadsheet generated by our approach and showed initial evidence that the approach can build spreadsheets that avoid the introduction of several types of errors often present in spreadsheets manually created by users. In this sense, we observed 98% correct answers to 234 questions involving spreadsheet manipulation.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125251048","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
A Bayesian Network Model to Assess Agile Teams' Teamwork Quality 基于贝叶斯网络模型的敏捷团队团队合作质量评估
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.29
A. Freire, Raissa Matias da Silva, M. Perkusich, H. Almeida, A. Perkusich
The Agile Manifesto states that agile projects should focus on individuals and interactions over processes and tools. Agile teams are self-directed and considered one of the most valuable assets of the project. This requires the team members to be collaborative and embrace the concept of whole-team responsibility and commitment. Factors that influence teamwork quality such as team orientation, team leadership, and coordination in addition to highly specialized skills and corresponding division of work are barriers for achieving team effectiveness. To assist on the assessment of agile teamwork quality, in this paper, we present a Bayesian networks-based model. The model considers agile teams principles and industry best practices. We validated the model with simulated scenarios. The results are promising and encourage its usage to assess agile teams teamwork quality to promote continuous improvement.
敏捷宣言指出,敏捷项目应该关注个人和交互,而不是过程和工具。敏捷团队是自我指导的,被认为是项目中最有价值的资产之一。这需要团队成员合作,并接受整个团队责任和承诺的概念。除了高度专业化的技能和相应的分工外,影响团队素质的因素如团队导向、团队领导、协调等都是实现团队效能的障碍。为了帮助敏捷团队质量的评估,本文提出了一个基于贝叶斯网络的敏捷团队质量评估模型。该模型考虑了敏捷团队原则和行业最佳实践。我们用模拟场景验证了该模型。结果很有希望,并鼓励将其用于评估敏捷团队的团队质量,以促进持续改进。
{"title":"A Bayesian Network Model to Assess Agile Teams' Teamwork Quality","authors":"A. Freire, Raissa Matias da Silva, M. Perkusich, H. Almeida, A. Perkusich","doi":"10.1109/SBES.2015.29","DOIUrl":"https://doi.org/10.1109/SBES.2015.29","url":null,"abstract":"The Agile Manifesto states that agile projects should focus on individuals and interactions over processes and tools. Agile teams are self-directed and considered one of the most valuable assets of the project. This requires the team members to be collaborative and embrace the concept of whole-team responsibility and commitment. Factors that influence teamwork quality such as team orientation, team leadership, and coordination in addition to highly specialized skills and corresponding division of work are barriers for achieving team effectiveness. To assist on the assessment of agile teamwork quality, in this paper, we present a Bayesian networks-based model. The model considers agile teams principles and industry best practices. We validated the model with simulated scenarios. The results are promising and encourage its usage to assess agile teams teamwork quality to promote continuous improvement.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116473164","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}
引用次数: 7
On the Conceptual Cohesion of Co-Change Clusters 论共变集群的概念衔接
Pub Date : 2015-09-21 DOI: 10.1109/SBES.2015.16
M. Oliveira, R. Bonifácio, G. N. Ramos, Márcio Ribeiro
The analysis of co-change clusters as an alternative software decomposition can provide insights on different perspectives of modularity. But the usual approach using coarse-grained entities does not provide relevant information, like the conceptual cohesion of the modular abstractions that emerge from co-change clusters. This work presents a novel approach to analyze the conceptual cohesion of the source-code associated with co-change clusters of fine-grained entities. We obtain from the change history information found in version control systems. We describe the use of our approach to analyze six well established and currently active open-source projects from different domains and one of the most relevant systems of the Brazilian Government for the financial domain. The results show that co-change clusters offer a new perspective on the code based on groups with high conceptual cohesion between its entities (up to 69% more than the original package decomposition), and, thus, are suited to detect concepts pervaded on codebases, opening new possibilities of comprehension of source-code by means of the concepts embodied in the co-change clusters.
将共变集群作为一种可选的软件分解进行分析,可以提供对模块化不同视角的见解。但是,通常使用粗粒度实体的方法不能提供相关信息,比如从共变集群中产生的模块化抽象的概念内聚。这项工作提出了一种新的方法来分析与细粒度实体的共变集群相关的源代码的概念内聚。我们从版本控制系统中的变更历史信息中获得。我们描述了使用我们的方法来分析来自不同领域的六个成熟且目前活跃的开源项目,以及巴西政府在金融领域最相关的系统之一。结果表明,共变集群提供了一种基于实体之间具有高概念内聚(比原始包分解高出69%)的组的代码的新视角,因此,适合于检测代码库中渗透的概念,通过共变集群中包含的概念打开了理解源代码的新可能性。
{"title":"On the Conceptual Cohesion of Co-Change Clusters","authors":"M. Oliveira, R. Bonifácio, G. N. Ramos, Márcio Ribeiro","doi":"10.1109/SBES.2015.16","DOIUrl":"https://doi.org/10.1109/SBES.2015.16","url":null,"abstract":"The analysis of co-change clusters as an alternative software decomposition can provide insights on different perspectives of modularity. But the usual approach using coarse-grained entities does not provide relevant information, like the conceptual cohesion of the modular abstractions that emerge from co-change clusters. This work presents a novel approach to analyze the conceptual cohesion of the source-code associated with co-change clusters of fine-grained entities. We obtain from the change history information found in version control systems. We describe the use of our approach to analyze six well established and currently active open-source projects from different domains and one of the most relevant systems of the Brazilian Government for the financial domain. The results show that co-change clusters offer a new perspective on the code based on groups with high conceptual cohesion between its entities (up to 69% more than the original package decomposition), and, thus, are suited to detect concepts pervaded on codebases, opening new possibilities of comprehension of source-code by means of the concepts embodied in the co-change clusters.","PeriodicalId":329313,"journal":{"name":"2015 29th Brazilian Symposium on Software Engineering","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133168912","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}
引用次数: 5
期刊
2015 29th Brazilian Symposium on Software Engineering
全部 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