Cleidson R. B. de Souza

dblp:29/7640 · also Cleidson Ronald Botelho de Souza, Cleidson de Souza · DBLP profile ↗
← Back
60ranked-venue papers
14as first author
21since 2021 · last 2026
0000-0003-3240-3122ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 33 · 5 first-author · 10 since 2021Human-computer interaction and ubiquitous computing · 26 · 9 first-author · 12 since 2021Artificial intelligence and machine learning · 6 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 3Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2026 A Taxonomy of Participants' Difficulties in Game Jams: A Qualitative Analysis of Experiences CSCW003
abstract
Game jams are time-bounded collaborative events that range from one to few days, bringing together teams to create game prototypes. Previous research has emphasized the positive aspects of these events. Fewer studies focused on their limitations, usually focusing on a small number of participants in specific contexts, which provides a limited view of the negative experiences faced by event participants. To address this gap, we qualitatively analyzed 866 open-ended responses about the difficulties faced by the same group of participants in two subsequent game jams. We report a taxonomy with 42 difficulties structured in five categories: Social Dynamics, Project Management, Personal, Event Format, and Technical and Infrastructural. We then discuss how to use this taxonomy in different scenarios, and how the difficulties are intertwined with participants emotional experiences and may even influence whether they decide to return to these events.
Luciana A. Almeida, Mayara Costa Figueiredo, Gisselle Layla Abdon do Vale, Any Caroliny Duarte Batista de Almeida, Leandro de Almeida Melo, Cleidson R. B. de Souza
Proc. ACM Hum. Comput. Interact.6
2025 CodeWatcher: IDE Telemetry Data Extraction Tool for Understanding Coding Interactions with LLMs
abstract
Understanding how developers interact with code generation tools (CGTs) requires detailed, real-time data on programming behavior which is often difficult to collect without disrupting workflow. We present CodeWatcher, a lightweight, unobtrusive client-server system designed to capture fine-grained interaction events from within the Visual Studio Code (VS Code) editor. CodeWatcher logs semantically meaningful events such as insertions made by CGTs, deletions, copy-paste actions, and focus shifts, enabling continuous monitoring of developer activity without modifying user workflows. The system comprises a VS Code plugin, a Python-based RESTful API, and a MongoDB backend, all containerized for scalability and ease of deployment. By structuring and timestamping each event, CodeWatcher enables post-hoc reconstruction of coding sessions and facilitates rich behavioral analyses, including how and when CGTs are used during development. This infrastructure is crucial for supporting research on responsible AI, developer productivity, and the human-centered evaluation of CGTs. Please find the demo, diagrams, and tool here.
Manaal Basha, Aimeê M. Ribeiro, Jeena Javahar, Cleidson R. B. de Souza, Gema Rodríguez-Pérez
ICSME4
2025 Enhancing User-centered Design with Large Language Models
abstract
User-centered design (UCD) is a foundational approach in software development that prioritizes users’ needs, behaviors, and expectations throughout the design process. For instance, Design Sprints effectively integrate UCD into fastpaced software development, enabling teams to fail fast, learn quickly, and refine solutions based on real user feedback. This paper explores the potential of Large Language Models (LLMs) as an integrated component of UCD methodologies, specifically within the Design Sprint framework. Our goal is to analyze how LLMs can assist designers throughout different phases of the Design Sprint, improving efficiency and aiding in developing user-centered solutions. To achieve this goal, we conducted a study with Computer Science, Software Engineering, and Design students during a course on innovative software product engineering. The study was structured into three phases: (i) theoretical instruction, (ii) practical application of the design sprint methodology with LLM integration, and (iii) presentation and discussion of the developed products. We conducted focus groups to gather insights on the participants’ experiences using an LLM as a support tool for Design Sprint activities. Our results provide insights into how LLM can be leveraged to assist in rapid product design while preserving UCD principles.
Bruno Gadelha, Thiago Queiroz, Cleidson R. B. de Souza, Tayana Conte, Igor Steinmacher
VL/HCC3
2025 Cracking CodeWhisperer: Analyzing Developers' Interactions and Patterns During Programming Tasks
abstract
The use of AI code-generation tools is becoming increasingly common, making it important to understand how software developers are adopting these tools. In this study, we investigate how developers engage with Amazon’s CodeWhisperer, an LLM-based code-generation tool. We conducted two user studies with two groups of 10 participants each, interacting with CodeWhisperer - the first to understand which interactions were critical to capture and the second to collect low-level interaction data using a custom telemetry plugin. Our mixed-methods analysis identified four behavioral patterns: 1) incremental code refinement, 2) explicit instruction using natural language comments, 3) baseline structuring with model suggestions, and 4) integrative use with external sources. We provide a comprehensive analysis of these patterns.
Jeena Javahar, Tanya Budhrani, Manaal Basha, Cleidson R. B. de Souza, Ivan Beschastnikh, Gema Rodríguez-Pérez
VL/HCC4
2025 UX-work related needs in software startups: Diagnosis and resolution
Joelma Choma, Helen Sharp, Letícia Machado, Leonor Barroca 0001, Cleidson R. B. de Souza, Luciana A. M. Zaina
J. Syst. Softw.5
2025 Still an Uphill Journey: Women's Difficulties in Collaborative Gaming Events
abstract
Gender disparity persists in science, technology, engineering, and mathematics (STEM), impacting teamwork, productivity, and innovation. In the gaming industry, women constitute only 30% of professionals, despite comprising half of the players, raising concerns about effective game design and marketing for a diverse audience. Time-bounded collaborative events, such as hackathons and game jams, have been used to promote inclusion, providing opportunities for networking and skill development, among other benefits. However, game jams have low participation rates from minorities. This paper describes a qualitative study using card sorting and interviews with nine women game jam participants to elucidate their difficulties. We explore the interplay of these difficulties, the strategies employed to overcome them, and the subsequent impact on women's experiences. By shedding light on these issues, we aim to contribute insights that help mitigate barriers, fostering a more inclusive environment in the gaming industry and similar domains.
Luciana A. Almeida, Mayara Costa Figueiredo, Gisselle Layla Abdon do Vale, Any Caroliny Duarte Batista de Almeida, Leandro de Almeida Melo, Cleidson R. B. de Souza
Proc. ACM Hum. Comput. Interact.6
2025 How are People with Disabilities Embraced in Software Development Teams? A Systematic Literature Review
abstract
Employability is one of the barriers that People with Disabilities (PWD) face to get included in society. Among other opportunities, the software development career can be an option to promote economic and job market inclusion. However, PWD participation in software development teams is still barely addressed in computing research compared to studies that address PWD as technology users. We conducted a systematic literature review to better understand the sociotechnical perspectives previous researchers presented on PWD engagement as software development team members. Out of the 572 papers identified in the last decade (2013 to 2023), thirty-nine were selected to be analyzed in depth. The results show that visual impairment is the most addressed disability, and programming is the most common role played by these professionals. The main challenges occur in the context of teamwork dynamics in mixed-ability teams and tool accessibility in daily work activities. Unveiling the work collaboration practices of PWD, challenges encountered, and the lack of research in other types of disabilities help us understand and consolidate opportunities for the academic community and industry to move towards effectively including these professionals.
Thayssa A. da Rocha, Luciano Teran, Giselle Lorrane Nobre Melo, Nicoly da Silva Menezes, Ingrid M. Miranda da Silva, Cleidson R. B. de Souza, Marcelle Mota
Proc. ACM Hum. Comput. Interact.6
2024 Developer Experiences with a Contextualized AI Coding Assistant: Usability, Expectations, and Outcomes
abstract
In the rapidly advancing field of artificial intelligence, software development has emerged as a key area of innovation. Despite the plethora of general-purpose AI assistants available, their effectiveness diminishes in complex, domain-specific scenarios. Noting this limitation, both the academic community and industry players are relying on contextualized coding AI assistants. These assistants surpass general-purpose AI tools by integrating proprietary, domain-specific knowledge, offering precise and relevant solutions. Our study focuses on the initial experiences of 62 participants who used a contextualized coding AI assistant --- named StackSpot AI--- in a controlled setting. According to the participants, the assistants' use resulted in significant time savings, easier access to documentation, and the generation of accurate codes for internal APIs. However, challenges associated with the knowledge sources necessary to make the coding assistant access more contextual information as well as variable responses and limitations in handling complex codes were observed. The study's findings, detailing both the benefits and challenges of contextualized AI assistants, underscore their potential to revolutionize software development practices, while also highlighting areas for further refinement.
Gustavo Pinto 0001, Cleidson R. B. de Souza, Thayssa A. da Rocha, Igor Steinmacher, Alberto de Souza, Edward Monteiro
CAIN2
2024 Effective Inclusion of People with Disabilities in Software Development Teams
abstract
Context: People with Disabilities (PWD) have seen the software development market as an alternative for overcoming some of the inclusion barriers they face in society. A career in software development presents itself as an opportunity for dignified and equal employment conditions. However, there is limited software engineering research about the PWD’s effective inclusion in software development teams. Objectives and Methods: This paper presents the emerging results from a systematic literature review on three Computer Science databases over the last decade (2013-2023). Our objective is to identify relevant technical and human aspects of PWD’s effective inclusion in software development teams. Results: From 1,006 initial papers, 572 were analyzed, and 39 were selected because they discuss PWD as members of software development teams. We examined them with quantitative and qualitative approaches. Our results indicate that including PWD as members of software development teams is a topic underexplored in software engineering research, with 11 papers out of the 39 discussing this topic. In addition, visual impairment is the most addressed disability, while programming is the most common role played by these professionals in software development teams. PWD’s challenges are usually technical and social, such as the accessibility of tools and mixed-ability teams’ work dynamics. We conclude by presenting the PWD’s workarounds to deal with these challenges, which are common and essential to guarantee minimally equal participation. Conclusion: Our contribution is to outline the research trajectory about including PWD as software developers over the past decade and steer new efforts towards their effective integration into software development teams.
Thayssa A. da Rocha, Cleidson R. B. de Souza, Luciano Teran, Marcelle Mota
ESEM2
2024 Developing and validating a scale for motivation in participating in time-bounded collaborative events
Marcelo Gattermann Perin, Leandro de Almeida Melo, Cleidson R. B. de Souza, Any Caroliny Duarte Batista de Almeida, Fernando Marques Figueira Filho
Int. J. Hum. Comput. Stud.3
2023 All For One and One For All: Investigating How Global Game Jam Participants Get and Offer Help
abstract
Background: Time-bounded collaborative events are events that bring together different participants to address a problem through the creation of a computational artifact over a short period of time. Examples of these events include hackathons, game jams, and ideathons. Despite previous research on these events, little is understood about how people seek and get help during these events. Aims: Our goal is to understand how event participants seek and get help during time-bounded collaborative events to design better strategies supporting search behaviour. This is necessary because participants learn and improve different skills important for working in the industry during these events. Method: We conducted a mixed-methods study where we collected data through a large-scale survey with participants of a global-scale game jam. Our primary method was quantitative, but we had a qualitative dataset that we used to augment aspects of our quantitative results. Results: Our findings suggest that professional and independent developers are the ones who provide help most often, while students interact more with mentors. In addition, the frequency that participants getting help from mentors decreases with increased experience in game development and the number of participations in game jams. Participants also point to mentors as an essential part of the jams: they are expert facilitators, so much so that the perception of the mentors' absence or distance was reported as a disappointment. Conclusions: Understanding how participants in time-bounded collaborative events seek and get help is important to design more effective events and improving the participants' overall experience. We translate our findings into suggestions for event organizers.
Leandro de Almeida Melo, Cleidson R. B. de Souza, Marcelo Gattermann Perin, Any Caroliny Duarte Batista de Almeida, Fernando Marques Figueira Filho
ESEM2
2023 An Exploratory Study of the Benefits of Time-bounded Collaborative Events for Startup Founders
abstract
Time-bounded collaborative events attract people with different backgrounds to work in small teams to develop a project that addresses a particular problem in a very short amount of time. Previous research acknowledges that event participants have the opportunity to learn new things, meet people, and gain recognition, among other benefits. However, there are few studies exploring the relationship between these events and startups. Basically, these studies report that some projects developed during these events result in startups. This paper aims to explore how startup founders benefit from time-bounded events. We used a qualitative exploratory approach to collecting data through semi-structured interviews with 20 startup founders. The benefits cited by the interviewees include the development of new products, raising money, gaining visibility, and identifying opportunities for action, learning and networking. In particular, learning can be divided into many types, including learning about software development and business methodologies, new tools, and soft skills. Networking can benefit startups by allowing them to identify founders, partners, customers, and employees. Our results suggest that participation in time-bounded collaborative events helps startup founders to satisfy some of the needs of their startups. We conclude by presenting recommendations for event organizers.
André Miranda, Kiev Gama, Cleidson R. B. de Souza
CHASE3
2023 Benefits and Challenges of an Internal Corporate Accelerator in a Software Company: An Action-Research Study
Vanessa Lopes Abreu, Anderson J. S. da Costa, André Luiz Coelho Pinheiro, Cleidson R. B. de Souza
PROFES (1)4
2023 Crisis Readiness: Revisiting the Distance Framework During the COVID-19 Pandemic
Clara Marques Caldeira, Cleidson R. B. de Souza, Letícia Machado, Marcelo Gattermann Perin, Pernille Bjørn
Comput. Support. Cooperative Work.2
2023 What do software startups need from UX work?
Luciana A. M. Zaina, Joelma Choma, Jullia Saad, Leonor Barroca 0001, Helen Sharp, Letícia Machado, Cleidson R. B. de Souza
Empir. Softw. Eng.7
2022 A 20-year mapping of Bayesian belief networks in software project management
abstract
Abstract In recent years, more software engineering researchers have focussed on methods, techniques, tools, and processes to support software project management (SPM) addressing quality, cost, and time constraints. In this direction, the use of Bayesian belief networks (BBNs) has gained attention for providing a powerful mechanism for cause–effect analysis with both qualitative and quantitative data to support decision making under uncertainty. This work aims to provide an overview of the first 20 years of research in BBNs applied to SPM, and by so doing it contributes to the structuring of this research topic and the identification of new research opportunities. We conducted a systematic mapping (SM) study on the use of BBN as a decision‐support tool for SPM issues. We analysed over 109 relevant publications, from 1999 to 2018 (i.e., 20 years), to understand the motivations for using Bayesian networks (why), the problem domain and model scope addressed by researchers (what), the stage of the life cycle in which BBNs are being used (when), the venues of the publications (where), and the tools used to model the Bayesian networks (how). We draw the following conclusions from the results of our SM: (1) The application of Bayesian networks in SPM has been an active research topic since 1999. (2) Prediction and planning are the most common purposes in 60% of selected papers. (3) Software quality (55%) is the problem domain most investigated. (4) Most of the surveyed studies embrace the project (47%) and product (37%) scopes. And finally, (5) the development phase (86%) is when Bayesian networks have been more used. As future work, we highlight the need to further investigate methodologies that enable the use of BBNs in real software development contexts.
Abraham L. R. de Sousa, Cleidson R. B. de Souza, Rodrigo Quites Reis
IET Softw.2
2022 Editorial Introduction - GROUP 2022 Second Wave
abstract
For over a quarter century, GROUP has offered a premier yet intimate and welcoming venue for agenda-setting, diverse research. Although the traditional focus of the conference is on supporting group work, it has expanded to include research from computer-supported cooperative work, sociotechnical studies, practice-centered computing, human-computer interaction, computersupported collaborative learning, participatory technology design, and other related areas. The work presented in this issue embodies that interdisciplinary ethos. Papers in this issue cover a wide range topics, from human-AI collaboration, to collaboration in virtual reality, to perceptions of privacy and security, to the myriad impacts of the COVID-19 pandemic. The application domains are similarly wide ranging, from health data, to civic engagement, to educational settings, to government provision of social services. Similar to the 2021 issue, this issue also continues the tradition of design fiction at GROUP. This issue of PACM:HCI brings you papers from the planned 2022 ACMConference on Supporting Group Work (GROUP 2022). Typically, the GROUP conference occurs every two years. However, research developments do not necessarily follow conference deadline cycles. Thus, the GROUP conference offers authors the opportunity to submit to multiple waves. The first wave of papers for this conference were published in July 2021 in Volume 5 of PACM:HCI, and papers from this current issue were first submitted in May 2021. Both of these sets of papers published as part of the planned GROUP 2022 conference were authored and reviewed during the COVID-19 pandemic. These papers represent commendable volumes of hard work and resilience, not just from the authors, but also from the reviewers, the program committee, and the conference organizers. Additionally, the pandemic forced a major change to the conference at which these papers will be presented.
Eric P. S. Baumer, Naja L. Holten Møller, Cleidson R. B. de Souza, Casey Fiesler, Aparecido Fabiano Pinatti de Carvalho, Juliana B. S. França, María Menéndez-Blanco
Proc. ACM Hum. Comput. Interact.3
2021 UX work in software startups: A thematic analysis of the literature
Jullia Saad, Suéllen Martinelli, Letícia Machado, Cleidson R. B. de Souza, Alexandre Alvaro, Luciana A. M. Zaina
Inf. Softw. Technol.4
2021 Editorial Introduction: GROUP 2022 First Wave
abstract
No abstract available.
Eric P. S. Baumer, Naja L. Holten Møller, Cleidson R. B. de Souza, Casey Fiesler, Aparecido Fabiano Pinatti de Carvalho, Juliana B. S. França, María Menéndez-Blanco
Proc. ACM Hum. Comput. Interact.3
2021 Towards Supporting Data-Driven Practices in Stroke Telerehabilitation Technology
abstract
Telerehabilitation technology has the potential to support the work of patients and clinicians by collecting and displaying patients' data to inform, motivate, and support decision-making. However, few studies have investigated data-driven practices in telerehabilitation. In this qualitative study, we conducted interviews and a focus group with the use of data visualization probes to investigate the experience of stroke survivors and healthcare providers with game-based telerehabilitation involving physical and occupational therapy. We find that \hlstudy participants saw potential value in the data to support their work. However, they experienced challenges when interpreting data to arrive at meaningful insights and actionable information. Further, patients' personal relationships with their goals and data stand in contrast with clinicians' more matter-of-fact perspectives. Informed by these results, we discuss implications for telerehabilitation technology design.
Clara Marques Caldeira, Mayara Costa Figueiredo, Lucy Dodakian, Cleidson R. B. de Souza, Steven C. Cramer, Yunan Chen 0001
Proc. ACM Hum. Comput. Interact.4
2021 Collaborative Behavior and Winning Challenges in Competitive Software Crowdsourcing
abstract
Software Crowdsourcing (SW CS) allows a requester to increase the speed of its software development efforts by submitting a task to be performed by the crowd. SW CS is usually structured around software platforms, which are used by crowd members to identify a task suited for them, gather information about this task, and finally, submit a solution for it. In competitive software crowdsourcing, members of the crowd independently create solutions while competing against each other by monetary rewards for task completion. While competition usually reduces collaboration, in this paper, we investigated how crowd members create a collaborative behavior during programming challenges using online forums to help each other, share useful information, and discuss important documents and artifacts. We also investigated different collaborative behaviours by crowd members and and how this collaboration is associated with crowd members' improved outcome in the challenges. These results are based on analysis of the online forums from Topcoder, one of the largest competitive SW CS platforms
Letícia Machado, Ricardo R. M. Melo, Cleidson R. B. de Souza, Rafael Prikladnicki
Proc. ACM Hum. Comput. Interact.3
2020 A Systematic Mapping Study on the Organisation of Corporate Hackathons
abstract
The hackathon phenomenon has just completed twenty years. During this period, it shifted from an event where highly skilled developers searched for bugs or randomly created a software solution to an organised event for exploring a set of technologies, challenges or themes. When promoted by software companies, these events are called corporate hackathons and mainly seek to improve their business activities by getting new ideas, prototypes or even business plans. By involving third parties, corporate hackathons become an open innovation strategy used by companies to ultimately leverage platforms and build a community of users around them, as a mechanism to establish a software ecosystem. This paper results from our motivation to understand how corporate hackathons are organised in IT industry. To achieve this goal, we performed a systematic mapping study on corporate hackathons, focusing on their process (i.e. steps involved in before, during and after a hackathon) and their main characteristics (goals, participants, duration, location, and application domain). As main contribution, we reveal organisation patterns and provide recommendations for companies aiming to conduct hackathons.
George Valença, Nycolas Lacerda, Cleidson R. B. de Souza, Kiev Gama
SEAA3
2020 On Moderating Software Crowdsourcing Challenges
abstract
Crowdsourcing divides a task into small pieces that are carried out by the crowd. In Software Engineering, crowdsourcing divides the software development tasks of to be carried out online by the crow and is simply called Software Crowdsourcing (SW CS). Most SW CS platforms support this emerging software development strategy and operate within a framework of competition among the crowd. Competitive SW CS platforms intentionally minimize communication and collaboration among the parties involved (customer, platform, and crowd) while they compete in the software development tasks. The goal of this paper is to investigate platform moderators in SW CS challenges. Platform moderators are individuals who work for the SW CS platforms to mediate customer and crowd. A qualitative analysis of the content of the communication forums hosted on the TopCoder platform was performed to analyze the messages exchanged by the platform moderators and the crowd. Our empirical results indicate that co-pilots enforce and, at the same time, extend the limitations of the documentation associated with the tasks to support crowd members, provide technical help to crowd members during the competitions, and engage the crowd in the challenges. Co-pilots are organized, work diligently, worrying about being fair, and, at the same time, seeking to find a balance between autonomy and dependency on the customer. We conclude by providing insights to improve the design of software crowdsourcing platforms.
Cleidson R. B. de Souza, Letícia Machado, Ricardo R. M. Melo
Proc. ACM Hum. Comput. Interact.1
2019 A Genetic Algorithm for Human Resource Allocation in Software Projects
abstract
The search for improvement of the software development process is an endless effort. The human resources allocation is one of the challenging aspects that needs to be investigate, since it brings together many different characteristics including work experience, preferences, domain knowledge, affinities, costs, among others. This work aims to describe a genetic algorithm aimed to provide automated assistance to the allocation of members to a software development project. We also present an evaluation of the efficiency and effectiveness of this algorithm. To evaluate the algorithm, a study was conducted with CMMiDEV assessed software companies. At the end of the study, the participants answered a brief questionnaire about their experience using the algorithm.
Filipe D. Coelho, Rodrigo Quites Reis, Cleidson R. B. de Souza
CLEI3
2019 Understanding Ecosystems Risks in Software Startups: A Study with Students
abstract
The current business context is very different from previous years. Nowadays, companies have more several business relationships with different more companies in more complex ways. This means that in order for a company to succeed, it needs to take into account its relationships with other companies. This is especially important for startups, which are naturally embedded in a scenario of risks and uncertainties. In this paper, we present and evaluate an extended version of the business model canvas (BMC) that supports ideas from the value blueprint tool to model risks in the context of business ecosystems. This extended business canvas was evaluated with students registered in a class that aims to foster startup ideas. Benefits and challenges of this extended version were identified and discussed in the context of other business approaches.
Luciana A. Almeida, Cleidson R. B. de Souza
SEAA2
2019 Using a Systematic Literature Review to Strengthen the Evidence Supporting a Simulation Model of Distributed Software Projects
abstract
In silico studies allow the use of computer models to simulate the environment, object, and subject behavior of an experiment. They are valuable tools to support the quantitative analysis of the behavior of different types of projects because they allow the use of different techniques such as stochastic and analytical methods to evaluate the impact of project decisions without the real execution costs. Recently, in silico studies have been used to study distributed software development projects. In this paper, we present a simulation model defined by a set of variables that describe the dynamics of Distributed Software Development (DSD) projects. The assessment of our simulation model is based on a Systematic Literature Review (SLR) where we seek evidence, from primary studies published until October 2018, that the variables and relationships in our model do exist in actual DSD projects. We use a SLR as a validation mechanism. Our results are twofold. First, there is a gap of studies on some variables including knowledge expertise and task allocation strategy in distributed software development projects. And, second, there still is a lack of data to support results related to productivity, especially testing activities, on DSD projects. Despite the problem of lack of common terminology for reporting the results on DSD studies, we argue that we need more studies to be able to clearly infer the dynamics of the relationship between variables on distributed software development. Our study brings one step closer to fulfill this gap.
Adailton Magalhães Lima, Rodrigo Quites Reis, Cleidson R. B. de Souza
SEAA3
2019 On the Benefits of Corporate Hackathons for Software Ecosystems - A Systematic Mapping Study
George Valença, Nycolas Lacerda, Maria Eduarda Rebelo, Carina Alves 0001, Cleidson R. B. de Souza
PROFES5
2018 An Ensemble of Convolutional Neural Networks for Unbalanced Datasets: A case Study with Wagon Component Inspection
abstract
Railway component inspection is a technique widely used for maintenance because defective components pose safety issues. Nevertheless, finding defective components is a hard task because they are normally hidden by dusty, which poses hard problems for the image segmentation algorithms. To approach this problem, manual inspection by humans is normally used, but it is time consuming, expensive and sometimes dangerous. Meanwhile, automatic approaches that uses machine learning algorithms are also difficult because the datasets are strongly unbalanced. Such datasets usually induce biased classification models that identify new instances as members of the class with the greatest abundance of examples in the training data. In this paper, we propose a new method that combines the use of Convolutional Neural Networks (CNN) with imbalanced learning to address the challenge of using machine learning to identify defective components. Our method was tested with realworld data from images used for wagon component inspection. Moreover, we compared our method with an ensemble of MLP networks using features extraction, such as the LeNet, and a CNN network without ensemble learning. Results indicate that our proposed method produced the higher overall accuracy compared to the other methods.
Everlandio Fernandes, Rafael Lima Rocha, Bruno V. Ferreira, Eduardo Carvalho, Ana Carolina Siravenha, Ana Cláudia S. Gomes, Schubert R. Carvalho, Cleidson R. B. de Souza
IJCNN8
2017 Exploiting the use of recurrent neural networks for driver behavior profiling
abstract
Driver behavior affects traffic safety, fuel/energy consumption and gas emissions. The purpose of driver behavior profiling is to understand and have a positive influence on driver behavior. Driver behavior profiling tasks usually involve an automated collection of driving data and the application of computer models to classify what characterizes the aggressiveness of drivers. Different sensors and classification methods have been employed for this task, although low-cost solutions, high performance and collaborative sensing remain open questions for research. This paper makes an investigation with different Recurrent Neural Networks (RNN), aiming to classify driving events employing data collected by smartphone accelerometers. The results show that specific configurations of RNN upon accelerometer data provide high accuracy results, being a step towards the development of safer transportation systems.
Eduardo Carvalho, Bruno V. Ferreira, Jair S. Ferreira Jr., Cleidson R. B. de Souza, Hanna V. Carvalho, Yoshihiko Suhara, Alex Pentland, Gustavo Pessin
IJCNN4
2016 The Social Side of Software Platform Ecosystems
abstract
Software ecosystems as a paradigm for large-scale software development encompass a complex mix of technical, business, and social aspects. While significant research has been conducted to understand both the technical and business aspects, the social aspects of software ecosystems are less well understood. To close this gap, this paper presents the results of an empirical study aimed at understanding the influence of social aspects on developers' participation in software ecosystems. We conducted 25 interviews with mobile software developers and an online survey with 83 respondents from the mobile software development community. Our results point out a complex social system based on continued interaction and mutual support between different actors, including developers, friends, end users, developers from large companies, and online communities. These findings highlight the importance of social aspects in the sustainability of software ecosystems both during the initial adoption phase as well as for long-term permanence of developers.
Cleidson R. B. de Souza, Fernando Marques Figueira Filho, Müller Miranda, Renato Ferreira 0002, Christoph Treude, Leif Singer
CHI1
2016 The Role of Ethnographic Studies in Empirical Software Engineering
abstract
Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice, i.e., it can help to uncover not only what practitioners do, but also why they do it. Despite its potential, ethnography has not been widely adopted by empirical software engineering researchers, and receives little attention in the related literature. The main goal of this paper is to explain how empirical software engineering researchers would benefit from adopting ethnography. This is achieved by explicating four roles that ethnography can play in furthering the goals of empirical software engineering: to strengthen investigations into the social and human aspects of software engineering; to inform the design of software engineering tools; to improve method and process development; and to inform research programmes. This article introduces ethnography, explains its origin, context, strengths and weaknesses, and presents a set of dimensions that position ethnography as a useful and usable approach to empirical software engineering research. Throughout the paper, relevant examples of ethnographic studies of software practice are used to illustrate the points being made.
Helen Sharp, Yvonne Dittrich, Cleidson R. B. de Souza
IEEE Trans. Software Eng.3
2015 8th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2015)
abstract
Software is created for and with a wide range of stakeholders, from customers to management, from value-added providers to customer service personnel. These stakeholders work with teams of software engineers to develop and evolve software systems that support their activities. All of these people and their interactions are central to software development. Thus, it is crucial to investigate the dynamic and frequently changing Cooperative and Human Aspects of Software Engineering (CHASE), both before and after deployment, in order to understand current software practices, processes, and tools. In turn, this enables us to design tools and support mechanisms that improve software creation, software maintenance, and customer communication.Researchers and practitioners have long recognized the need to investigate these aspects, however, their articles are scattered across conferences and communities. This workshop will provide a unified forum for discussing high quality research studies, models, methods, and tools for human and cooperative aspects of software engineering. This will be the 8th in a series of workshops, which continue to be a meeting place for the academic, industrial, and practitioner communities interested in this area, and will give opportunities to present and discuss works-in-progress.
Andrew Begel, Rafael Prikladnicki, Yvonne Dittrich, Cleidson R. B. de Souza, Anita Sarma, Sandeep Athavale
ICSE (2)4
2015 Fostering effective inter-team knowledge sharing in agile software development
Viviane A. Santos, Alfredo Goldman, Cleidson R. B. de Souza
Empir. Softw. Eng.3
2014 Exploring the Impact of API Complexity on Failure-Proneness
abstract
Interfaces, or APIs, are central to realizing the benefits of information hiding, but despite their widespread use, designing good interfaces is not a trivial activity. Particular design choices can have a significant detrimental effect on quality or development productivity, in particular, in large and geographically distributed projects. In this paper, we take a two-step approach. We first examined the impact of API complexity on the failure proneness of source code files. By API complexity we mean how easy or difficult is to use a particular API based on the public functions and data of this API. Second, we examine the relationship of API complexity and geographical distribution of the development teams. In our study we used data from two large-scale systems from two different software companies and nine open source projects from the GNOME community. Our analyses showed that increases in the complexity of APIs are associated with increases in the failure proneness of source code files. API complexity is the second best predictor in our results. Furthermore, the organizational context and the patterns of geographical distribution of the development teams have a moderating effect on the role of API complexity. We discuss the research and practical implication of the results.
Marcelo Cataldo, Cleidson R. B. de Souza
ICGSE2
2014 Experimenting on the cognitive walkthrough with users
abstract
This paper presents a case study aiming to investigate which variant of the Think-Aloud Protocol (i.e., the Concurrent Think-Aloud and the Retrospective Think-Aloud) better integrates with the Cognitive Walkthrough with Users. To this end we performed a case study that involved twelve users and one usability evaluator. Usability problems uncovered by each method were evaluated to help us understand the strengths and weaknesses of the studied usability testing methods. The results suggest that 1) the Cognitive Walkthrough with Users integrates equally well with both the Think-Aloud Protocol variants; 2) the Retrospective Think-Aloud find more usability problems and 3) the Concurrent Think-Aloud is slightly faster to perform and was more cost effective. However, this is only one case study, and further research is needed to verify if the results are actually statistically significant.
Wallace P. Lira, Renato Ferreira 0002, Cleidson R. B. de Souza, Schubert R. Carvalho
Mobile HCI3
2014 Knowledge Transfer between Senior and Novice Software Engineers: A Qualitative Analysis
Davi Viana, Tayana Conte, Cleidson R. B. de Souza
SEKE3
2014 Data collection in global software engineering research: learning from past experience
Rafael Prikladnicki, Alexander Boden, Gabriela Avram, Cleidson R. B. de Souza, Volker Wulf
Empir. Softw. Eng.4
2014 Knowledge transfer, translation and transformation in the work of information technology architects
Mayara Costa Figueiredo, Cleidson R. B. de Souza, Marcelo Zílio Pereira, Rafael Prikladnicki, Jorge L. N. Audy
Inf. Softw. Technol.2
2013 6th international workshop on cooperative and human aspects of software engineering (CHASE 2013)
abstract
Software is created by people for people working in a range of environments and under various conditions. Understanding the cooperative and human aspects of software development is crucial in order to comprehend how methods and tools are used, and thereby improve the creation and maintenance of software. Both researchers and practitioners have recognized the need to investigate these aspects, but the results of such investigations are dispersed in different conferences and communities. The goal of this workshop is to provide a forum for discussing high quality research on human and cooperative aspects of software engineering. We aim to provide both a meeting place for the community and the possibility for researchers interested in joining the field to present and discuss their work in progress and to get an overview over the field.
Rafael Prikladnicki, Rashina Hoda, Marcelo Cataldo, Helen Sharp, Yvonne Dittrich, Cleidson R. B. de Souza
ICSE6
2012 The influence of human aspects on software process improvement: Qualitative research findings and comparison to previous studies
abstract
Background: Understanding how to successfully deal with human and technical aspects involved in Software Process Improvement (SPI) programs is a challenging issue. Technical aspects are not enough to guarantee the success of activities. Human factors (e.g., experiences, opinions and perceptions) impact the effectiveness of SPI programs. Aim: this paper aims to improve our current understanding on how human aspects can influence SPI programs from the point of view of the professionals involved in such efforts. We compare our findings with the results of previous studies in order to analyze the different contexts in which human aspects influence SPI. Method: We conducted a qualitative study in the context of small companies involved in SPI programs in Amazonas State in Brazil based on the Brazilian Maturity Model - MPS.BR. We used semi-structural interviews with software engineers. Results: We identified findings about eleven of the fourteen investigated human aspects. We identified new characteristics that motivate actors to get involved in SPI programs. Finally, while previous research indicated that the process of individual decision making as a negative aspect, we identified this as a positive aspect. Conclusions: Despite the differences in companies' size and maturity models, our findings corroborate many of the important results of previous case studies. The consistency of the presented results with previous research in different organizations, teams, and countries suggest that these results are true for software engineering in general. However, there were differences related to the motivating factors and the perception of the individual decision making. In our study, we observed that the personality, perception and employee selection aspects were also significant to the SPI program's success. This has not been re
Davi Viana, Tayana Conte, Dalton Vilela, Cleidson R. B. de Souza, Gleison Santos, Rafael Prikladnicki
EASE4
2011 The scale and evolution of coordination needs in large-scale distributed projects: implications for the future generation of collaborative tools
abstract
The past decade has witnessed the development of a new class of coordination tools that focus on automatically providing individuals a rich context for facilitating the coordination of their work. Despite their valuable contributions, current coordination tools have mostly been designed without taking into account scalability aspects beyond the small-group level. The increasing pervasiveness of large-scale projects suggests that those mechanisms need to scale dramatically to adequately support such work settings. In this paper, we used data from five distinct large-scale projects from three different companies to study the scale, range, and volatility of the coordination requirements that emerged over time within those projects. Our results showed that coordination requirements tend to be quite volatile, vary significantly in their magnitude across project members and a significant proportion of the coordination requirements cut across organizational and geographical boundaries. Furthermore, new coordination requirements represent, on average, a third of the coordination requirements faced by a project member on a monthly basis. The implications of these results for the design of collaborative tools are discussed.
Jean Marcel dos Reis Costa, Marcelo Cataldo, Cleidson R. B. de Souza
CHI3
2011 Workshop on cooperative and human aspects of software engineering: (CHASE 2011)
abstract
Software is created by people for people working in varied environments, under various conditions. Thus understanding cooperative and human aspects of software development is crucial to comprehend how methods and tools are used, and thereby improve the creation and maintenance of software. Over the years, both researchers and practitioners have recognized the need to study and understand these aspects. Despite recognizing this, researchers in cooperative and human aspects have no clear place to meet and are dispersed in different research conferences and areas. The goal of this workshop is to provide a forum for discussing high quality research on human and cooperative aspects of software engineering. We aim at providing both a meeting place for the growing community and the possibility for researchers interested in joining the field to present their work in progress and get an overview over the field.
Marcelo Cataldo, Cleidson R. B. de Souza, Yvonne Dittrich, Rashina Hoda, Helen Sharp
ICSE2
2011 The Awareness Network, To Whom Should I Display My Actions? And, Whose Actions Should I Monitor?
abstract
The concept of awareness plays a pivotal role in research in Computer-Supported Cooperative Work. Recently, software engineering researchers interested in the collaborative nature of software development have explored the implications of this concept in the design of software development tools. A critical aspect of awareness is the associated coordinative work practices of displaying and monitoring actions. This aspect concerns how colleagues monitor one another's actions to understand how these actions impact their own work and how they display their actions in such a way that others can easily monitor them while doing their own work. In this paper, we focus on an additional aspect of awareness: the identification of the social actors who should be monitored and the actors to whom their actions should be displayed. We address this aspect by presenting software developers' work practices based on ethnographic data from three different software development teams. In addition, we illustrate how these work practices are influenced by different factors, including the organizational setting, the age of the project, and the software architecture. We discuss how our results are relevant for both CSCW and software engineering researchers.
Cleidson R. B. de Souza, David F. Redmiles
IEEE Trans. Software Eng.1
2010 Tool support for collaborative software development based on dependency analysis
abstract
This paper presents RaisAware, a collaborative software development tool aimed at supporting the relationship between software architecture and coordination of software development activities. Our design is based on both dependency analysis of software development artifacts and software developers'
Jean Marcel dos Reis Costa, Rafael Martins Feitosa, Cleidson R. B. de Souza
CollaborateCom3
2010 Cooperative and Human Aspects of Software Engineering (CHASE 2010)
abstract
Software is created by people---software engineers---working in varied environments, under various conditions. Thus understanding cooperative and human aspect of software development is crucial to comprehend how methods and tools are used, and thereby improving the creation and maintenance of software. Inspired by the hosting country's concept of co-responsibility -- ubuntu -- we especially invited contributions that address community-based development like open source development and sustainability of ICT eco-systems.
Yvonne Dittrich, Cleidson R. B. de Souza, Mikko Korpela, Helen Sharp, Janice Singer, Heike Winshiers-Theophilus
ICSE (2)2
2010 Using ethnographic methods in software engineering research
abstract
This tutorial provides an overview of the role of ethnography in Software Engineering research. It describes the use of ethnographic methods as a means to provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice. The knowledge gained can be used to improve processes, methods and tools as well as develop observed industrial practices. The tutorial begins with a brief historical account of ethnography in the fields of Software Engineering, CSCW, Information Systems and other related areas. This sets the stage for a more in-depth discussion of methods for data collection and analysis used in ethnographic studies. It then describes how these methods can be and have been used by software engineering researchers to understand developers' work practices, to inform the development of processes, methods and tools and to evaluate the applicability of current processes, methods and tools. Finally, some practical issues concerning the selection and use of ethnographic methods by software engineers are discussed. Throughout the tutorial, examples from the presenters' experience illustrate the points made.
Helen Sharp, Cleidson R. B. de Souza, Yvonne Dittrich
ICSE (2)2
2009 Initial findings from an observational study of software engineers
abstract
For the last 30 years, several empirical studies have been conducted to understand how software engineers work. However, during this period, many changes occurred in the context of software development: new communication technologies like instant messaging appeared as well as new quality models to evaluate the work being conducted. Despite this new context, much of the research in the collaborative aspects of software design is based on research that does not reflect these new aspects of work. Thus, a more up-to-date understanding of the nature of software engineering work - as a type of information work - is necessary. The purpose of this paper is to present the initial findings of an observational study to understand how software developers' time is distributed during their workday. The main results are related to aspects of collaboration observed in 55% of their time, information seeking consuming 31,90% of developers' time, and poor use of software process tools in 5% of the time observed. In particular, this last result is different from what one would expect and which has been previously been reported in the literature.
Márcio Kuroki Gonçalves, Cleidson R. B. de Souza, Víctor M. González 0001
CSCWD2
2009 On the Effects of Refactoring in the Coordination of Software Development Activities
Cleidson R. B. de Souza, Maryanne P. Rosa, Crys S. Goto, Jean Marcel dos Reis Costa, Pedro J. F. Treccani
ECSCW1
2009 On The Roles of APIs in the Coordination of Collaborative Software Development
abstract
The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to reduce their dependencies. This separation also decreases the dependency among software developers implementing these modules, thus simplifying the required coordination. A common instantiation of this principle widely used in the industry is in the form of application programming interfaces (APIs). While previous studies report on the general use and benefits of APIs, they have glossed over the detailed ways in which APIs facilitate the coordination of work. In order to unveil these mechanisms, we performed a qualitative study on how practitioners use APIs in their daily work. Using ethnographic data from two different software development teams, we identified three roles played by APIs in the coordination of software development projects. These roles are described using three metaphors: APIs as contracts, APIs as boundaries, and APIs as communication mechanisms. As contracts, APIs allow software developers to work in parallel and independently. As a communication mechanism, APIs facilitate communication among software developers by giving them something specific to talk about. At the same time, APIs establish the boundaries between developers, and, accordingly, what should be talked about. This paper also reports on problems the studied teams face when using APIs to coordinate their work. Based on these results, we draw theoretical implications for collaborative software engineering.
Cleidson R. B. de Souza, David F. Redmiles
Comput. Support. Cooperative Work.1
2008 An empirical study of software developers' management of dependencies and changes
abstract
Different approaches and tools have been proposed to support change impact analysis, i.e., the identification of the potential consequences of a change, or the estimation of what needs to be modified to accomplish a change. However, just a few empirical studies of software developers' actual change impact analysis approaches have been reported in the literature. To minimize this gap, this paper describes an empirical study of two software development teams. It describes, through the presentation of ethnographic data, the strategies used by software developers to handle the effect of software dependencies and changes in their work. The concept of impact management is proposed as an analytical framework to present these practices and is used to suggest avenues for future research in change impact analysis techniques.
Cleidson R. B. de Souza, David F. Redmiles
ICSE1
2008 Analyzing a socio-technical visualization tool using usability inspection methods
abstract
Ariadne is a novel visualization tool that allows end users to explore the socio-technical relationships in software development projects. Essentially the visualization is a variant of a social network graph. It is based on the observation that dependencies between software components create dependencies between the developers implementing those components. This relationship emerged in our own and other researcherspsila field studies of software projects. Large software development projects require management of dependencies by managers and developers to ensure the smooth coordination of work. We sought to evaluate our visualization to assess its utility. Although we had some informal trials with potential end users, we sought a deeper analysis before further refinement of the tool and evaluation on a larger scale. Usability inspection methods provided one potential avenue. Moreover, such inspection methods yield a kind of rationale not directly derived from human subjects evaluations. We report on the application of these inspection methods and discuss the implications of their results in the context of usability evaluations for visual interfaces.
Erik H. Trainer, Stephen Quirk, Cleidson R. B. de Souza, David F. Redmiles
VL/HCC3
2007 The Awareness Network: To Whom Should I Display My Actions? And, Whose Actions Should I Monitor?
Cleidson R. B. de Souza, David F. Redmiles
ECSCW1
2007 Supporting collaborative software development through the visualization of socio-technical dependencies
abstract
One of the reasons large-scale software development is difficult is the number of dependencies that software engineers face. These dependencies create a need for communication and coordination that requires continuous effort by developers. Empirical studies, including our own, suggest that technical dependencies among software components create social dependencies among the software developers implementing those components. Based on this observation, we developed Ariadne, a plug-in for Eclipse. Ariadne analyzes software projects for dependencies and collects authorship information about projects relying on configuration management repositories. Ariadne can "translate" technical dependencies among components into social dependencies among developers. We have created visualizations to convey dependency information and the presence of coordination problems identified in our previous work. We believe the information conveyed in the visualizations will prove useful for software developers.
Cleidson R. B. de Souza, Stephen Quirk, Erik H. Trainer, David F. Redmiles
GROUP1
2006 Exploring the Relationship between Dependencies and Coordination to Support Global Software Development Projects
abstract
In this paper we present a tool to facilitate the work of managers of global software development projects. This tool explores the relationship between software dependencies and coordination of work and uses social networks to suggest potential coordination problems for managers. The overall architecture of the tool is described as well as the theoretical and empirical motivations for the tool.
Sebastiao B. Fonseca, Cleidson R. B. de Souza, David F. Redmiles
ICGSE2
2005 Seeking the source: software source code as a social and technical artifact
abstract
In distributed software development, two sorts of dependencies can arise. The structure of the software system itself can create dependencies between software elements, while the structure of the development process can create dependencies between software developers. Each of these both shapes and reflects the development process. Our research concerns the extent to which, by looking uniformly at artifacts and activities, we can uncover the structures of software projects, and the ways in which development processes are inscribed into software artifacts. We show how a range of organizational processes and arrangements can be uncovered in software repositories, with implications for collaborative work in large distributed groups such as open source communities.
Cleidson R. B. de Souza, Jon Froehlich, Paul Dourish
GROUP1
2004 Sometimes you need to see through walls: a field study of application programming interfaces
abstract
Information hiding is one of the most important and influential principles in software engineering. It prescribes that software modules hide implementation details from other modules in order to decrease the dependency between them. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a field study of the use of APIs and observed that they served many roles. We observed that APIs were successful indeed in supporting collaboration by serving as contracts among stakeholders as well as by reifying organizational boundaries. However, the separation that they accomplished also hindered other forms of collaboration, particularly among members of different teams. Therefore, we think argue that API's do not only have beneficial purposes. Based on our results, we discuss implications for collaborative software development tools.
Cleidson R. B. de Souza, David F. Redmiles, Li-Te Cheng, David R. Millen, John F. Patterson
CSCW1
2004 How a good software practice thwarts collaboration: the multiple roles of APIs in software development
abstract
The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to decrease their interdependencies. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a qualitative study on how practitioners use APIs in their daily work. Although particularly interested in aspects of collaboration, we report all findings about their observed use. The findings include mundane observations that are predicted by theory, ways that APIs support collaborative software development. But the findings also include some surprises, ways that APIs hinder collaboration. The surprises indicate directions for further improvement of collaborative software development practices and tools.
Cleidson R. B. de Souza, David F. Redmiles, Li-Te Cheng, David R. Millen, John F. Patterson
SIGSOFT FSE1
2003 "Breaking the code", moving between private and public work in collaborative software development
abstract
Software development is typically cooperative endeavor where a group of engineers need to work together to achieve a common, coordinated result. As a cooperative effort, it is especially difficult because of the many interdependencies amongst the artifacts created during the process. This has lead software engineers to create tools, such as configuration management tools, that isolate developers from the effects of each other's work. In so doing, these tools create a distinction between private and public aspects of work of the developer. Technical support is provided to these aspects as well as for transitions between them. However, we present empirical material collected from a software development team that suggests that the transition from private to public work needs to be more carefully handled. Indeed, the analysis of our material suggests that different formal and informal work practices are adopted by the developers to allow a delicate transition, where software developers are not largely affected by the emergent public work. Finally, we discuss how groupware tools might support this transition.
Cleidson R. B. de Souza, David F. Redmiles, Paul Dourish
GROUP1
2003 Using Critiquing Systems for Inconsistency Detection in Software Engineering Models
Cleidson R. B. de Souza, Hamilton L. R. Oliveira, Cleber R. P. da Rocha, Kléder Miranda Gonçalves, David F. Redmiles
SEKE1
2000 A Group Critic System for Object-Oriented Analysis and Design
abstract
Presents a group critic system for object-oriented analysis and design. A group critic system is a critiquing system which is aware that the problems it finds in the design are the result of different users acting on different goals, and all are responsible for the problem. The environment also integrates a construction kit and an argumentative hypermedia system. We used annotation to point out criticisms, so that users can view the critiquing system as a true colleague. Annotations are also used as the cooperation medium among the designers.
Cleidson R. B. de Souza, Jair S. Ferreira Jr., Kléder Miranda Gonçalves, Jacques Wainer
ASE1