G. N. Ferrari, Thais S. Nepomuceno, Claudia H. Santana, C. Luz, G. C. L. Leal, A. Amaral, Renato Balancieri, E. Oliveirajr
{"title":"Advanced Undergraduate Computing Students' Perception of Software Quality Teaching: a Survey in the Brazilian Paraná State","authors":"G. N. Ferrari, Thais S. Nepomuceno, Claudia H. Santana, C. Luz, G. C. L. Leal, A. Amaral, Renato Balancieri, E. Oliveirajr","doi":"10.5753/cibse.2023.24700","DOIUrl":"https://doi.org/10.5753/cibse.2023.24700","url":null,"abstract":"Aspects of software quality (SQ), such as process and product metrics, and assessment techniques, can be taught to computing students during their undergraduate courses, however, there is no consensus on how. In Brazil, computing courses are structured as the Brazilian Computer Society suggests, still, researchers point out that there are few SQ subjects in these courses. This paper aims to analyze the perception of SQ concepts by advanced undergraduate students in the northwest of the Paraná state. We applied a survey and received ninety-nine answers. Our results show that most SQ concepts are taught, but the students feel they did not learn and are not able to apply them. We discuss and suggest guidelines to improve the understanding of SQ concepts.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"10 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134283373","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}
J. A. D. Pace, Santiago A. Vidal, Antonela Tommasel, Sebastian Frank, A. Hoorn
{"title":"Can Multi-Agent Consensus Improve Quality Tradeoffs in Software Architecture Optimization?","authors":"J. A. D. Pace, Santiago A. Vidal, Antonela Tommasel, Sebastian Frank, A. Hoorn","doi":"10.5753/cibse.2023.24694","DOIUrl":"https://doi.org/10.5753/cibse.2023.24694","url":null,"abstract":"When designing a software architecture to fulfill quality-attribute requirements, architects normally explore and assess alternative solutions leading to different quality-attribute tradeoffs. In this context, we developed the SQuAT framework to support automated multi-objective optimization in large design spaces. SQuAT provides a modular, multi-agent architecture in which each agent represents and optimizes a particular quality attribute. However, this search strategy has problems identifying tradeoffs that satisfy all the parties (or architects’ concerns), particularly when searching for many candidate solutions and evaluating them becomes computationally costly. This is actually a general challenge for architecture optimization tools. To deal with it, SQuAT features an agent negotiation protocol that seeks consensus based on the utility of solutions as judged by each agent. In this paper, we present a parameterized heuristic that enhances the integration between search and negotiation in SQuAT, and also report on an empirical evaluation with two case studies. The results show initial evidence that using negotiation is more effective than doing a pure search to identify solutions having a balanced utility across agents, and thus, offer alternative quality-attribute tradeoffs to the architect.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"563 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134291285","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":"Software Engineering Education in the DevOps Era: Experiences and Recommendations","authors":"Nicolás Paez, Carlos Fontela","doi":"10.5753/cibse.2023.24698","DOIUrl":"https://doi.org/10.5753/cibse.2023.24698","url":null,"abstract":"DevOps has reached the mainstream, in part, because it proposed a way to solve the last mile of the software delivery process. It brought to the industry concrete solutions to some concerns that software engineering and academia have traditionally ignored. The popularity and success of DevOps got the attention of the academia and some universities have started to include DevOps related content in their programs. After doing our own experience, we found out that introducing DevOps is not as simple as adding a new course. In fact, it requires a major redesign of the Software Engineering curriculum. In this article we share some key ideas and recommendations to include DevOps in Software Engineering programs.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"17 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131803851","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":"What can we learn from surveys on the importance of software development productivity factors?","authors":"M. Jørgensen","doi":"10.5753/cibse.2023.24690","DOIUrl":"https://doi.org/10.5753/cibse.2023.24690","url":null,"abstract":"A proper interpretation of survey results on the importance of software development productivity factors requires an understanding of what the responses reflect. To find out more about this, we conducted a survey with 79 experienced software professionals. The strongest connection found was between the high perceived importance of a productivity factor and how frequently the respondents had experienced that a low performance on that factor had caused productivity problems. We argue that it is challenging to interpret survey-based results on the importance of productivity factors. Instead of conducting more surveys on the importance of such factors, we recommend asking directly about previous experiences related to productivity factors and including contextual information that enables proper interpretation of the responses.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127251150","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}
Juliana Oliveira dos Santos, Guilherme Augusto dos Reis Martins, É. Souza, K. Felizardo, G. V. Meinerz
{"title":"Perceptions of knowledge management in Brazilian software development companies","authors":"Juliana Oliveira dos Santos, Guilherme Augusto dos Reis Martins, É. Souza, K. Felizardo, G. V. Meinerz","doi":"10.5753/cibse.2022.20975","DOIUrl":"https://doi.org/10.5753/cibse.2022.20975","url":null,"abstract":"The software development companies conduct activities that generate a considerable amount of knowledge. Knowledge Management (KM) allows working with the generated knowledge helping in organizational learning. However, professionals in software companies still face several challenges to articulate and leverage knowledge in the organization. We aim at providing evidence about how KM has been adopted in practical environments of software development. We designed a survey instrument that was distributed to Brazilian software development professionals. The survey results improved the current understanding of KM and how it manifests itself in practical software development environments.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130264239","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}
Railana Santana, L. Martins, T'assio Virg'inio, L. Soares, Heitor A. X. Costa, Ivan Machado
{"title":"Refactoring Assertion Roulette and Duplicate Assert test smells: a controlled experiment","authors":"Railana Santana, L. Martins, T'assio Virg'inio, L. Soares, Heitor A. X. Costa, Ivan Machado","doi":"10.48550/arXiv.2207.05539","DOIUrl":"https://doi.org/10.48550/arXiv.2207.05539","url":null,"abstract":"Test smells can reduce the developers' ability to interact with the test code. Refactoring test code offers a safe strategy to handle test smells. However, the manual refactoring activity is not a trivial process, and it is often tedious and error-prone. This study aims to evaluate RAIDE, a tool for automatic identification and refactoring of test smells. We present an empirical assessment of RAIDE, in which we analyzed its capability at refactoring Assertion Roulette and Duplicate Assert test smells and compared the results against both manual refactoring and a state-of-the-art approach. The results show that RAIDE provides a faster and more intuitive approach for handling test smells than using an automated tool for smells detection combined with manual refactoring.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127902862","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":"Diseño e implementación de un entorno de desarrollo integrado para robótica educativa soportado por una máquina virtual para plataformas de computación física","authors":"Jorge Moran","doi":"10.5753/cibse.2022.20985","DOIUrl":"https://doi.org/10.5753/cibse.2022.20985","url":null,"abstract":"El uso de dispositivos físicos como herramientas de aprendizaje presenta diversos desafíos. Una de las dificultades más grandes a las que se enfrentan los alumnos es la construcción de un modelo mental que permita entender la ejecución de los programas y su relación con el código fuente. El uso de lenguajes visuales no alcanza a resolver este problema y, adicionalmente, puede complicar la eventual transición a lenguajes basados en texto. En este artículo se presenta un entorno de desarrollo integrado para robótica educativa que ofrece una experiencia de programación interactiva basada en un lenguaje híbrido bloques/código.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114244955","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":"How to Identify Programming Skills from Source Code?","authors":"Johnatan Oliveira","doi":"10.5753/cibse.2022.20988","DOIUrl":"https://doi.org/10.5753/cibse.2022.20988","url":null,"abstract":"Both open-source and proprietary software systems have become increasingly complex. Despite their growing complexity and increasing size, software systems must satisfy strict release requirements that impose quality, putting significant pressure on developers. Therefore, the success of software projects is dependent on the identification and hiring of qualified developers to build a solid and cohesive team with different programming skills. Our main goal is to develop and evaluate a method able to compute programming skills from source code analysis. Our method uses software metrics such as Changed Files and Changed Lines of Code, to compute the skills. Our results showed that our method is able of identifying programming skills of the developers about mainly libraries used, programming languages, and profile concerning back-end & front-end and unit test.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114700506","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}
Amanda Chaves, Luís Amorim, M. Marinho, I. Júnior, H. Moura
{"title":"Autonomy and Turnover in Distributed Software Development Projects: a Systematic Literature Review","authors":"Amanda Chaves, Luís Amorim, M. Marinho, I. Júnior, H. Moura","doi":"10.5753/cibse.2022.20966","DOIUrl":"https://doi.org/10.5753/cibse.2022.20966","url":null,"abstract":"Distributed teams have become a tendency among software companies. However, companies that apply Distributed Software Development (DSD) suffer from high developer turnover. Research shows that autonomy factors can mitigate or prevent team turnover. In this research, we investigate the role of autonomy on turnover in distributed teams through a Systematic Literature Review (SLR). Our findings revealed a set of autonomy dimensions that influence turnover in DSD projects. Besides, we identified the main factors related to autonomy linked to turnover in DSD projects. These findings provide software companies and organizations with a better understanding of the importance of autonomy factors to battle the DSD projects turnover problem.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114214648","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":"Automatic identification of web API change types in consumer applications","authors":"Graciela Vidal, Franco Herrera, S. Casas","doi":"10.5753/cibse.2022.20965","DOIUrl":"https://doi.org/10.5753/cibse.2022.20965","url":null,"abstract":"La evolución de las API web afecta a las aplicaciones consumidoras. Su modificación y/o adaptación para que sea compatible con los cambios de las APIs suele ser crítica, ya que es manual, y requiere mayores costes y esfuerzos. Estudios previos registran tipos y/o patrones de cambios en APIs web. Sin embargo, las propuestas que ayuden a los desarrolladores a identificar automáticamente cambios en sus aplicaciones son insuficientes. Este trabajo propone un enfoque que permite identificar automáticamente un conjunto de tipos de cambios. La estrategia consiste en utilizar un diccionario de APIs consumidas y la verificación automática de inconsistencias con la especificación actual de las APIs incluidas en el diccionario.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123847012","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}