Diego Dermeval, Jéssyka Vilela, I. Bittencourt, J. Castro, Seiji Isotani, P. Brito
{"title":"A Systematic Review on the Use of Ontologies in Requirements Engineering","authors":"Diego Dermeval, Jéssyka Vilela, I. Bittencourt, J. Castro, Seiji Isotani, P. Brito","doi":"10.1109/SBES.2014.13","DOIUrl":"https://doi.org/10.1109/SBES.2014.13","url":null,"abstract":"Requirements Engineering (RE) discipline deals with elicitation, analysis, specification, validation and management of requirements. Several ontology-driven approaches have been proposed to improve these RE activities. However, the requirements engineering community still lacks a comprehensive understanding on how ontologies are used in RE process. The objective of this work is to explore how ontologies are employed in requirements engineering, aiming to identify the main phases addressed, the languages that have been used, the types of existing contributions, as well as the requirements modeling styles have been used and the benefits of using ontology in RE. We conducted a systematic literature review to identify the primary studies on the use of ontologies in RE, following a pre-defined review protocol. Sixty-six papers were selected, covering the five main RE process phases. Moreover, we have identified thirteen ontology-related languages. Furthermore, twenty-six empirical studies have been identified which provided evidence of five group of benefits. The main findings of this review are: (1) there are empirical evidences to state that ontologies benefit RE activities in both academy and industry settings, helping to reduce ambiguity, inconsistency and incompleteness of requirements; (2) the vast majority of papers do not meet all RE phases; (3) nearly half of the papers use W3C recommended languages; (4) the majority of contributions are supported by a tool; and (5) there is a great diversity of requirements modeling styles supported by ontologies.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127172196","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}
E. Barbosa, Alessandro F. Garcia, Simone Diniz Junqueira Barbosa
{"title":"Categorizing Faults in Exception Handling: A Study of Open Source Projects","authors":"E. Barbosa, Alessandro F. Garcia, Simone Diniz Junqueira Barbosa","doi":"10.1109/SBES.2014.19","DOIUrl":"https://doi.org/10.1109/SBES.2014.19","url":null,"abstract":"Even though exception handling mechanisms have been proposed as a means to improve software robustness, empirical evidence suggests that exception handling code is still poorly implemented in industrial systems. Moreover, it is often claimed that the poor quality of exception handling code can be a source of faults in a software system. However, there is still a gap in the literature in terms of better understanding exceptional faults, i.e., faults whose causes regard to exception handling. In particular, there is still little empirical knowledge about what are the specific causes of exceptional faults in software systems. In this paper we start to fill this gap by presenting a categorization of the causes of exceptional faults observed in two mainstream open source projects. We observed ten different categories of exceptional faults, most of which were never reported before in the literature. Our results pinpoint that current verification and validation mechanisms for exception handling code are still not properly addressing these categories of exceptional faults.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121731547","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}
M. Delamaro, Lin Deng, Nan Li, Vinicius H. S. Durelli, A. Offutt
{"title":"Growing a Reduced Set of Mutation Operators","authors":"M. Delamaro, Lin Deng, Nan Li, Vinicius H. S. Durelli, A. Offutt","doi":"10.1109/SBES.2014.14","DOIUrl":"https://doi.org/10.1109/SBES.2014.14","url":null,"abstract":"Although widely considered to be quite powerful, mutation testing is also known for its expense. Three fundamental (and related) sources for much of the expense are (1) the number of mutants, (2) the number of equivalent mutants, and (3) the number of test cases needed to kill the mutants. Recent results have shown that mutation systems create a significant number of mutants that are killed by the same tests. These mutants can be considered to be “redundant,” in the sense that if N mutants are killed by the same test, only one of those mutants is truly needed. Selective mutation, one-op mutation, and random mutant selection are ways to choose a “reduced” set of mutation operators that will help testers design tests that are almost as effective, as measured by running the tests against the complete set of mutants. This paper presents a novel procedure for choosing a reduced set of mutation operators based on a “growth model.” The procedure uses a greedy approach to successively choose the mutation operator that increases the overall mutation score the most, adding mutation operators to the set until the tests that kill all mutants from the reduced set kill all mutants from the complete set of mutants.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129618513","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}
Troy C. Kohwalter, E. Clua, Leonardo Gresta Paulino Murta
{"title":"Reinforcing Software Engineering Learning through Provenance","authors":"Troy C. Kohwalter, E. Clua, Leonardo Gresta Paulino Murta","doi":"10.1109/SBES.2014.16","DOIUrl":"https://doi.org/10.1109/SBES.2014.16","url":null,"abstract":"Software engineering is focused on practical and theoretical aspects of the software production. Teaching software engineering is traditionally done through theoretical classes with some practical exercises. Recently, games and simulators were introduced as a ludic alternative for software engineering learning, where decisions and interactions become key factors to transmit and acquire knowledge. However, mistakes made by wrong decisions may jeopardize the learning process, especially when reproducing its effects is not a viable option due to the nondeterministic nature of games. With this in mind, in a previous work we proposed a novel approach based on provenance concepts in order to present the decisions and effects of such decisions when learning through games. In this work, we present an experimental evaluation of that approach with undergraduate students. The obtained results show that the use of provenance leads to faster and more accurate answers from students, including learning aspects that could not be achieved by a traditional educational game.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131012621","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}
{"title":"Preliminary Empirical Identification of Barriers Faced by Newcomers to Open Source Software Projects","authors":"Igor Steinmacher, A. Chaves, T. Conte, M. Gerosa","doi":"10.1109/SBES.2014.9","DOIUrl":"https://doi.org/10.1109/SBES.2014.9","url":null,"abstract":"When newcomers try to join an open source software (OSS) project, they face many barriers that hinder their first contribution, leading in many cases to their dropping out. Many projects leverage the contribution of outsiders, and the sustainability of the project relies on retaining some of these newcomers. This research aims to identify the barriers that hinder newcomers' onboarding to OSS projects. Our method consisted of a qualitative study conducted with data obtained from four different sources: (i) systematic literature review; (ii) feedback from nine graduate and undergraduate students after they tried to join OSS projects; (iii) 24 responses to a questionnaire sent to 9 OSS projects; and (iv) semi-structured interviews with 36 subjects from 14 different projects, including newcomers and experienced members. The method to select the candidate papers in the systematic literature review was querying four digital libraries and backward snowballing. The data obtained from the practitioners from all three sources, and the primary studies obtained in the systematic review were analyzed using used procedures of Grounded Theory's open and axial coding. The analysis resulted in a conceptual model composed of 58 barriers, grouped into six different categories: cultural differences, newcomers' characteristics, reception issues, orientation, technical hurdles, and documentation problems. We could observe recurrent barriers evidenced in different data sources. We could notice that the onboarding process of a newcomer to an OSS can be a tough task. This research brings empirical support relying on data from different sources, organizes and discusses the existing common wisdom about barriers faced by newcomers to OSS projects, which deserve attention from researchers and OSS communities.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124039694","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}
W. Oizumi, Alessandro F. Garcia, T. Colanzi, M. Ferreira, Arndt von Staa
{"title":"When Code-Anomaly Agglomerations Represent Architectural Problems? An Exploratory Study","authors":"W. Oizumi, Alessandro F. Garcia, T. Colanzi, M. Ferreira, Arndt von Staa","doi":"10.1109/SBES.2014.18","DOIUrl":"https://doi.org/10.1109/SBES.2014.18","url":null,"abstract":"Several projects have been discontinued in the history of the software industry due to the presence of software architecture problems. The identification of such problems in source code is often required in real project settings, but it is a time-consuming and challenging task. Some authors assume that architectural problems are reflected in source code through individual code anomalies. However, each architectural problem may be realized by multiple code anomalies, which are intertwined in several program elements. The relationships of these various code anomalies and their architecture problems' counterparts are hard to reveal and characterize. In fact, there is little knowledge about the manifestation of code-anomaly agglomerations in software projects and when they adversely impact (or not) the software architecture. To overcome this limitation, we propose studying the architecture impact of a wide range of code-anomaly agglomerations. An agglomeration is a group of code anomalies that are related to each other for some reason - e.g. all of them affect syntactically-related code elements in the program. In our study, we analyzed a total of 5418 code anomalies and 2229 agglomerations within 7 systems. We observed that architectural problems are much more often reflected as anomaly agglomerations rather than individual anomalies in the source code. More importantly, we also revealed when code-anomaly agglomerations were (or not) good indicators of architectural problems. For instance, the result of our study suggests that certain topologies of code-anomaly agglomerations are better indicators than others.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"12 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129254497","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}
{"title":"Do Search-Based Approaches Improve the Design of Self-Adaptive Systems? A Controlled Experiment","authors":"S. Andrade, R. Macêdo","doi":"10.1109/SBES.2014.17","DOIUrl":"https://doi.org/10.1109/SBES.2014.17","url":null,"abstract":"Endowing software systems with self-adaptation capabilities has shown to be quite effective in coping with uncertain and dynamic operational environments as well as managing the complexity generated by non-functional requirements. Nowadays, a large number of approaches tackle the issue of enabling self-adaptive behavior from different perspectives and under diverse assumptions, making it harder for architects to make judicious decisions about design alternatives and quality attributes tradeoffs. It has currently been claimed that search-based software design approaches may improve the quality of resulting artifacts and the productivity of design processes, as a consequence of promoting a more comprehensive and systematic representation of design knowledge and preventing design bias and false intuition. To the best of our knowledge, no controlled experiments have been performed to provide sound evidence of such claim in the self-adaptive systems domain. In this paper, we report the results of a quasi-experiment performed with 24 students of a graduate program in Distributed and Ubiquitous Computing. The experiment evaluated the design of self-adaptive systems using a search-based approach, in contrast to the use of a style-based non-automated approach. The results show that search-based approaches can improve the effectiveness of resulting architectures and reduce design complexity. We found no evidence regarding the method's potential for leveraging the acquisition of distilled design knowledge by novice software architects.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114735529","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}
F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta
{"title":"Towards a Difference Detection Algorithm Aware of Refactoring-Related Changes","authors":"F. J. Silva, E. Borel, Evandro Lopes, Leonardo Gresta Paulino Murta","doi":"10.1109/SBES.2014.21","DOIUrl":"https://doi.org/10.1109/SBES.2014.21","url":null,"abstract":"During the software life cycle, artifacts change in response to both corrective and evolutive demands. These changes usually entail source-code refactorings. However, conventional diff algorithms do not precisely capture such type of changes due to missing or inefficient detection of moving blocks of code within and amongst files. This paper introduces an approach designed to support understanding how two software versions differ, even if refactoring-related changes were performed. It analyzes different granularities in order to precisely detect block moves without requiring expressive computational power. The experimental results show that our approach provides results with higher precision for both line and word granularities, if compared to conventional approaches.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133081638","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}
Luis Jorge Enrique Rivero Cabrejos, Guto Kawakami, T. Conte
{"title":"Using a Controlled Experiment to Evaluate Usability Inspection Technologies for Improving the Quality of Mobile Web Applications Earlier in their Design","authors":"Luis Jorge Enrique Rivero Cabrejos, Guto Kawakami, T. Conte","doi":"10.1109/SBES.2014.24","DOIUrl":"https://doi.org/10.1109/SBES.2014.24","url":null,"abstract":"Usability is one of the key attributes for software quality that verifies the ability of the software to be understood, operated and attractive to users. In the specific case of mobile Web applications, usability can make the difference between their actual use and lack of acceptance. To assist software quality improvement at a lower cost, in previous work we proposed a set of usability inspection technologies for mockups, called Design Usability Evaluation (DUE), which can be applied earlier in the development of mobile Web applications. This paper shows an empirical study evaluating if the DUE technologies are able to aid development teams in the quality improvement of mobile Web applications. A development team applied the suggestions from the DUE technologies to make improvements over a set of previously evaluated mockups from a real mobile Web application. Then, users from different profiles tested both the initial and improved versions of the evaluated mockups to see if the later had been enhanced in terms of usability and quality. The results show that: (a) users preferred the redesigned version of the application's mockups; (b) users were able to successfully perform more tasks in the redesigned version of the application; and (c) users perceived that software quality improved after correcting the identified usability problems by applying the DUE technologies.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"227 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114225383","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}
{"title":"Do Rapid Releases Affect Bug Reopening? A Case Study of Firefox","authors":"Rodrigo R. G. Souza, C. Chavez, R. Bittencourt","doi":"10.1109/SBES.2014.10","DOIUrl":"https://doi.org/10.1109/SBES.2014.10","url":null,"abstract":"Large software organizations have been adopting rapid release cycles to deliver features and bug fixes earlier to their users. Because this approach reduces time for testing, it raises concerns about the effectiveness of quality assurance in this setting. In this paper, we study how the adoption of rapid release cycles impacts bug reopening rate, an indicator for the quality of the bug fixing process. To this end, we analyze thousands of bug reports from Mozilla Firefox, both before and after their adoption of rapid releases. Results suggest that the bug reopening rate of versions developed in rapid cycles was about 7% higher. Also, as a warning to the software analytics community, we report contradictory results from three attempts to answer our research question, performed with varying degrees of knowledge about the Firefox release process.","PeriodicalId":426125,"journal":{"name":"2014 Brazilian Symposium on Software Engineering","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114574534","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}