96 results on '"Serebrenik, A."'
Search Results
2. AI Engineering Research in Software Engineering Venues
- Author
-
Alexander Serebrenik, Miroslaw Staron, Jordi Cabot, Birgit Penzenstadler, Lorin Hochstein, and Jeffrey C. Carver
- Subjects
Software - Published
- 2022
3. Emotions and Perceived Productivity of Software Developers at the Workplace
- Author
-
Filippo Lanubile, Alexander Serebrenik, Daniela Girardi, Nicole Novielli, and Software Engineering and Technology
- Subjects
Experience sampling method ,biometric sensors ,Computer science ,media_common.quotation_subject ,emotion detection ,Emotion awareness ,Creativity ,empirical software engineering ,Mood ,Job performance ,Cognitive skill ,Set (psychology) ,Empirical evidence ,Productivity ,human factors ,Software ,media_common ,Cognitive psychology - Abstract
Emotions are known to impact cognitive skills, thus influencing job performance. This is also true for software development, which requires creativity and problem-solving abilities. In this paper, we report the results of a field study involving professional developers from five different companies. We provide empirical evidence that a link exists between emotions and perceived productivity at the workplace. Furthermore, we present a taxonomy of triggers for developers' positive and negative emotions, based on the qualitative analysis of participants' self-reported answers collected through daily experience sampling. Finally, we experiment with a minimal set of non-invasive biometric sensors that we use as input for emotion detection. We found that positive emotional valence, neutral arousal, and high dominance are prevalent. We also found a positive correlation between emotional valence and perceived productivity, with a stronger correlation in the afternoon. Both social and individual breaks emerge as useful for restoring a positive mood. Furthermore, we found that a minimum set of non-invasive biometric sensors can be used as a predictor for emotions, provided that training is performed on an individual basis. While promising, our classifier performance is not yet robust enough for practical usage. Further data collection is required to strengthen the classifier, by also implementing individual fine-tuning of emotion models.
- Published
- 2022
4. Using Benchmarking Bots for Continuous Performance Assessment
- Author
-
Markusse, Florian J., Leitner, Philipp, Serebrenik, Alexander, Software Engineering and Technology, and Mathematics and Computer Science
- Subjects
Benchmark testing ,Software development management ,Bot (Internet) ,Manuals ,Open source software ,Software ,Codes - Abstract
Bots for continuous performance assessment are gaining use as a productivity tool. We discuss how and why open source projects use them and present an in-depth case study of the Nanosoldier bot used by the team behind the Julia programming language.
- Published
- 2022
5. An interview study about the use of logs in embedded software engineering
- Author
-
Nan Yang, Pieter Cuijpers, Dennis Hendriks, Ramon Schiffelers, Johan Lukkien, Alexander Serebrenik, Software Engineering and Technology, Interconnected Resource-aware Intelligent Systems, EAISI Mobility, and EAISI High Tech Systems
- Subjects
Log analysis practice ,Embedded software enigineering ,Software - Abstract
Context: Execution logs capture the run-time behavior of software systems. To assist developers in their maintenance tasks, many studies have proposed tools to analyze execution information from logs. However, it is as yet unknown how industry developers use logs in embedded software engineering. Objective: In this study, we aim to understand how developers use logs in an embedded software engineering context. Specifically, we would like to gain insights into the type of logs developers analyze, the purposes for which developers analyze logs, the information developers need from logs and their expectation on tool support. Method: In order to achieve the aim, we conducted these interview studies. First, we interviewed 25 software developers from ASML, which is a leading company in developing lithography machines. This exploratory case study provides the preliminary findings. Next, we validated and refined our findings by conducting a replication study. We involved 14 interviewees from four companies who have different software engineering roles in their daily work. Results: As the result of our first study, we compile a preliminary taxonomy which consists of four types of logs used by developers in practice, 18 purposes of using logs, 13 types of information developers search in logs, 13 challenges faced by developers in log analysis and three suggestions for tool support provided by developers. This taxonomy is refined in the replication study with three additional purposes, one additional information need, four additional challenges and three additional suggestions of tool support. In addition, with these two studies, we observed that text-based editors and self-made scripts are commonly used when it comes to tooling in log analysis practice. As indicated by the interviewees, the development of automatic analysis tools is hindered by the quality of the logs, which further suggests several challenges in log instrumentation and management. Conclusions: Based on our study, we provide suggestions for practitioners on logging practices. We provide implications for tool builders on how to further improve tools based on existing techniques. Finally, we suggest some research directions and studies for researchers to further study software logging.
- Published
- 2023
6. Bots in Software Engineering
- Author
-
Birgit Penzenstadler, Silvia Abrahao, Miroslaw Staron, Alexander Serebrenik, Jeffrey C. Carver, Lorin Hochstein, and Software Engineering and Technology
- Subjects
Software - Abstract
The theme of this issue is “Bots in Software Engineering,” and we’ve collected a number of recent papers about bots that interact with source code repositories. These papers were published at the fourth International Workshop on Bots in Software Engineering (BotSE ’22), the 37th ACM/SIGAPP Symposium on Applied Computing (SAC ’22), the International Conference on Information Systems (ICIS ’21), and the 19th International Conference on Mining Software Repositories (MSR ’22).
- Published
- 2022
7. A Systematic Literature Review of Cross-Domain Model Consistency Checking by Model Management Tools
- Author
-
Weslley Torres, Alexander Serebrenik, Mark van den Brand, and Software Engineering and Technology
- Subjects
0209 industrial biotechnology ,Information retrieval ,Computer science ,Interoperability ,Model-based systems engineering ,Model management ,020207 software engineering ,02 engineering and technology ,Domain model ,Domain (software engineering) ,Systems engineering ,Consistency (database systems) ,020901 industrial engineering & automation ,Systematic review ,Modeling and Simulation ,0202 electrical engineering, electronic engineering, information engineering ,Software - Abstract
Objective The goal of this study is to identify gaps and challenges related to cross-domain model management focusing on consistency checking. Method We conducted a systematic literature review. We used the keyword-based search on Google Scholar, and we identified 618 potentially relevant studies; after applying inclusion and exclusion criteria, 96 papers were selected for further analysis. Results The main findings/contributions are: (i) a list of available tools used to support model management; (ii) 40% of the tools can provide consistency checking on models of different domains and 25% on models of the same domain, and 35% do not provide any consistency checking; (iii) available strategies to keep the consistency between models of different domains are not mature enough; (iv) most of the tools that provide consistency checking on models of different domains can only capture up to two inconsistency types; (v) the main challenges associated with tools that manage models on different domains are related to interoperability between tools and the consistency maintenance. Conclusion The results presented in this study can be used to guide new research on maintaining the consistency between models of different domains. Example of further research is to investigate how to capture the Behavioral and Refinement inconsistency types. This study also indicates that the tools should be improved in order to address, for example, more kinds of consistency check.
- Published
- 2021
8. Self-Admitted Technical Debt and comments’ polarity: an empirical study
- Author
-
Nathan Cassee, Fiorella Zampetti, Nicole Novielli, Alexander Serebrenik, Massimiliano Di Penta, Social Software Engineering, and Software Engineering and Technology
- Subjects
Sentiment analysis ,Self-Admitted Technical Debt ,Software ,Empirical study - Abstract
Self-Admitted Technical Debt (SATD) consists of annotations—typically, but not only, source code comments—pointing out incomplete features, maintainability problems, or, in general, portions of a program not-ready yet. The way a SATD comment is written, and specifically its polarity, may be a proxy indicator of the severity of the problem and, to some extent, of the priority with which it should be addressed. In this paper, we study the relationship between different types of SATD comments in source code and their polarity, to understand in which circumstances (and why) developers use negative or rather neutral comments to highlight an SATD. To address this goal, we combine a manual analysis of 1038 SATD comments from a curated dataset with a survey involving 46 professional developers. First of all, we categorize SATD content into its types. Then, we study the extent to which developers express negative sentiment in different types of SATD as a proxy for priority, and whether they believe this can be considered as an acceptable practice. Finally, we look at whether such annotations contain additional details such as bug references and developers’ names/initials. Results of the study indicate that SATD comments are mainly used for annotating poor implementation choices ($\simeq $≃41%) and partially implemented functionality ($\simeq $≃22%). The latter may depend from “waiting” for other features being implemented, and this makes SATD comments more negatives than in other cases. Around 30% of the survey respondents agree on using/interpreting negative sentiment as a proxy for priority, while 50% of them indicate that it would be better to discuss SATD on issue trackers and not in the source code. However, while our study indicates that open-source developers use links to external systems, such as bug identifiers, to annotate high-priority SATD, better tool support is required for SATD management.
- Published
- 2022
9. Opinion Mining for Software Development: A Systematic Literature Review
- Author
-
Bin Lin, Nathan Cassee, Alexander Serebrenik, Gabriele Bavota, Nicole Novielli, Michele Lanza, Software Engineering and Technology, and Social Software Engineering
- Subjects
Opinion mining ,sentiment analysis ,systematic literature review ,Software ,software engineering - Abstract
Opinion mining, sometimes referred to as sentiment analysis, has gained increasing attention in software engineering (SE) studies. SE researchers have applied opinion mining techniques in various contexts, such as identifying developers’ emotions expressed in code comments and extracting users’ critics toward mobile apps. Given the large amount of relevant studies available, it can take considerable time for researchers and developers to figure out which approaches they can adopt in their own studies and what perils these approaches entail. We conducted a systematic literature review involving 185 papers. More specifically, we present (1) well-defined categories of opinion mining-related software development activities, (2) available opinion mining approaches, whether they are evaluated when adopted in other studies, and how their performance is compared, (3) available datasets for performance evaluation and tool customization, and (4) concerns or limitations SE researchers might need to take into account when applying/customizing these opinion mining techniques. The results of our study serve as references to choose suitable opinion mining tools for software development activities and provide critical insights for the further development of opinion mining techniques in the SE domain.
- Published
- 2022
10. A qualitative study of developers' discussions of their problems and joys during the early COVID-19 months
- Author
-
Gias Uddin, Omar Alam, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
devRant ,Sentiments ,COVID-19 ,Developers’ discussions ,Software - Abstract
Many software developers started to work from home on a short notice during the early periods of COVID-19. A number of previous papers have studied the wellbeing and productivity of software developers during COVID-19. The studies mainly use surveys based on predefined questionnaires. In this paper, we investigate the problems and joys that software developers experienced during the early months of COVID-19 by analyzing their discussions in online forum devRant, where discussions can be open and not bound by predefined survey questionnaires. The devRant platform is designed for developers to share their joys and frustrations of life. We manually analyze 825 devRant posts between January and April 12, 2020 that developers created to discuss their situation during COVID-19. WHO declared COVID-19 as pandemic on March 11, 2020. As such, our data offers us insights in the early months of COVID-19. We manually label each post along two dimensions: the topics of the discussion and the expressed sentiment polarity (positive, negative, neutral). We observed 19 topics that we group into six categories: Workplace & Professional aspects, Personal & Family well-being, Technical Aspects, Lockdown preparedness, Financial concerns, and Societal and Educational concerns. Around 49% of the discussions are negative and 26% are positive. We find evidence of developers’ struggles with lack of documentation to work remotely and with their loneliness while working from home. We find stories of their job loss with little or no savings to fallback to. The analysis of developer discussions in the early months of a pandemic will help various stakeholders (e.g., software companies) make important decision early to alleviate developer problems if such a pandemic or similar emergency situation occurs in near future. Software engineering research can make further efforts to develop automated tools for remote work (e.g., automated documentation).
- Published
- 2022
11. Behavioral Science and Diversity in Software Engineering
- Author
-
Rafael Prikladnicki, Thomas Zimmermann, Jeffrey C. Carver, Henry Muccini, Birgit Penzenstadler, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
Engineering ,business.industry ,media_common.quotation_subject ,Behavioural sciences ,020207 software engineering ,02 engineering and technology ,Software maintenance ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Software engineering ,business ,Theme (computing) ,Diversity (politics) ,media_common - Abstract
The “Practioners' Digest” department in this issue of IEEE Software covers two topics: the behavioral science of software engineering and diversity in software engineering (this issue’s theme) and includes papers from the 42nd International Conference on Software Engineering (ICSE20), 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME19), 13th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE20), Empirical Software Engineering and Measurement 2020 (ESEM20), and Association for Computing Machinery Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE20). Feedback or suggestions are welcome. In addition, if you try or adopt any of the practices included in this article, please send me and the authors of the paper(s) a note about your experiences.
- Published
- 2021
12. Automated authoring, onboarding developers, and extracting decision rationale [Practitioners’ Digest]
- Author
-
Miroslaw Staron, Alexander Serebrenik, Rafael Capilla, and Jeffrey C. Carver
- Subjects
Application programming interface ,business.industry ,Process (engineering) ,Computer science ,media_common.quotation_subject ,Onboarding ,Automation ,Signature (logic) ,Software ,Code (cryptography) ,Software engineering ,business ,Function (engineering) ,media_common - Abstract
The ‘Practitioners’ Digest’ department in this issue of IEEE Software includes papers from the 2021 International Conference on Software Engineering (ICSE). A paper entitled, ‘Siri, Write the Next Method’ by Fengcai Wen and colleagues, expands upon the long-standing concept of code completion to include the automation of function signatures and function bodies. Code completion, an important support mechanism used by professional developers, helps complete method names, suggests the signature of an application programming interface function, or simply formats code. FeaRS, the authors’ new tool, takes that concept one step further by writing entire function signatures and function bodies based on the analysis of 2.5 million commits of existing functions in various open source projects. Another paper entitled ‘A Case Study of Onboarding in Software Teams: Tasks and Strategies’, by An Ju and colleagues, reports on the results of a study with 32 developers and 15 managers involved in the onboarding process.
- Published
- 2021
13. Technical Debt Problems and Concerns
- Author
-
Jeffrey C. Carver, Xabier Larrucea, Alexander Serebrenik, Miroslaw Staron, and Software Engineering and Technology
- Subjects
Software - Abstract
This article reports papers about technical debt (TD) from the 2021 IEEE/Association for Computing Machinery (ACM) International Conference on technical debt (TechDebt’21), the 43rd IEEE/ACM International Conference on Software Engineering: Journal First Track (ICSE-JF’21), the 43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP’21), and the 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR’21). Feedback or suggestions are welcome. In addition, if you try or adopt any of the practices included in the column, please send us and the authors a note about your experiences.
- Published
- 2022
14. Xamã : Optical character recognition for multi-domain model management
- Author
-
Weslley Torres, Mark G. J. van den Brand, and Alexander Serebrenik
- Subjects
Software - Abstract
The development of systems following model-driven engineering can include models from different domains. For example, to develop a mechatronic component one might need to combine expertise about mechanics, electronics, and software. Although these models belong to different domains, the changes in one model can affect other models causing inconsistencies in the entire system. Only few tools, however, support management of models from different domains. Indeed, these models are created using different modeling notations and it is not plausible to use a multitude of parsers geared toward each and every modeling notation. Therefore, to ensure maintenance of multi-domain systems, we need a uniform approach that would be independent from the peculiarities of the notation. Notation independence implies that such a uniform approach can only be based on elements commonly present in models of different domains, i.e., text, boxes, and lines. In this study, we investigate the suitability of optical character recognition (OCR) as a basis for such a uniformed approach. We select graphical models from various domains that typically combine textual and graphical elements. We start by analyzing the performance of Google Cloud Vision and Microsoft Cognitive Services, two off-the-shelf OCR services. Google Cloud Vision performed better than Microsoft Cognitive Services being able to detect text of 70% of model elements. Errors made by Google Cloud Vision are due to absence of support for text common in engineering formulas, e.g., Greek letters, equations, and subscripts. We identified the multi-line text error as one of the main issues of using OCR to recognize textual elements in models from different domains. This error happens when OCR misinterprets one textual element as two separate elements. To address the multi-line text error, we build Xamã on top of Google Cloud Vision. Xamã includes two approaches to identify whether the elements are positioned on a single line or multiple lines, and merge those identified as positioned on multiples lines. With and without shape detection, Xamã correctly identified 956 and 905 elements, respectively, out of 1171. Additionally, we compared the accuracy of Xamã and state-of-the-art tool img2UML, and we observe that Xamã outperformed img2UML in both precision and recall, being able to recognize 433 out of 614 textual elements as opposed to 171 by img2UML.
- Published
- 2022
15. Is 40 the new 60?
- Author
-
Sebastian Baltes, Alexander Serebrenik, George Park, Software Engineering and Technology, and Mathematics and Computer Science
- Subjects
FOS: Computer and information sciences ,Computer hacking ,Engineering ,Media ,Face (sociological concept) ,02 engineering and technology ,Employability ,Computer Science - Software Engineering ,Computer Science - Computers and Society ,Software ,Engineering profession ,Computers and Society (cs.CY) ,0202 electrical engineering, electronic engineering, information engineering ,Popular media ,Project management ,business.industry ,Software development ,020207 software engineering ,Software Engineering (cs.SE) ,Work (electrical) ,Face ,Public discourse ,Engineering ethics ,business ,Companies ,Industries - Abstract
Alerted by our previous research as well as media reports and discussions in online forums about ageism in the software industry, we set out to study the public discourse around age and software development. With a focus on the USA, we analyzed popular online articles and related discussions on Hacker News through the lens of (perceived) employability issues and potential mitigation strategies. Besides rather controversial strategies such as disguising age-related aspects in r\'esum\'es or undergoing plastic surgeries to appear young, we highlight the importance of keeping up-to-date, specializing in certain tasks or technologies, and present role transitions as a way forward for veteran developers. With this article, we want to build awareness among decision makers in software projects to help them anticipate and mitigate challenges that their older employees may face., Comment: 7 pages, 1 figure, 1 table, currently under review
- Published
- 2020
16. How does code readability change during software evolution?
- Author
-
Rocco Oliveto, Valentina Piantadosi, Alexander Serebrenik, Fabiana Fierro, Simone Scalabrino, and Software Engineering and Technology
- Subjects
Source code ,Information retrieval ,Point (typography) ,Computer science ,business.industry ,Program comprehension ,media_common.quotation_subject ,Software evolution ,020207 software engineering ,02 engineering and technology ,Software maintenance ,Readability ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Code (cryptography) ,Code readability ,Mining software repositories ,business ,media_common - Abstract
Code reading is one of the most frequent activities in software maintenance. Such an activity aims at acquiring information from the code and, thus, it is a prerequisite for program comprehension: developers need to read the source code they are going to modify before implementing changes. As the code changes, so does its readability; however, it is not clear yet how code readability changes during software evolution. To understand how code readability changes when software evolves, we studied the history of 25 open source systems. We modeled code readability evolution by defining four states in which a file can be at a certain point of time (non-existing, other-name, readable, and unreadable). We used the data gathered to infer the probability of transitioning from one state to another one. In addition, we also manually checked a significant sample of transitions to compute the performance of the state-of-the-art readability prediction model we used to calculate the transition probabilities. With this manual analysis, we found that the tool correctly classifies all the transitions in the majority of the cases, even if there is a loss of accuracy compared to the single-version readability estimation. Our results show that most of the source code files are created readable. Moreover, we observed that only a minority of the commits change the readability state. Finally, we manually carried out qualitative analysis to understand what makes code unreadable and what developers do to prevent this. Using our results we propose some guidelines (i) to reduce the risk of code readability erosion and (ii) to promote best practices that make code readable.
- Published
- 2020
17. How bugs are born: a model to identify how bugs are introduced in software components
- Author
-
Gema Rodríguez-Pérez, Gregorio Robles, Andy Zaidman, Daniel M. German, Alexander Serebrenik, Jesus M. Gonzalez-Barahona, and Software Engineering and Technology
- Subjects
Source lines of code ,Source code ,Bug-introducing changes ,Computer science ,business.industry ,media_common.quotation_subject ,Bug origins ,Software development ,Extrinsic bugs ,020207 software engineering ,SZZ algorithm ,02 engineering and technology ,Root cause ,Intrinsic bugs ,Software ,Software bug ,020204 information systems ,Component-based software engineering ,0202 electrical engineering, electronic engineering, information engineering ,Software system ,First-failing change ,business ,Software engineering ,media_common - Abstract
When identifying the origin of software bugs, many studies assume that “a bug was introduced by the lines of code that were modified to fix it”. However, this assumption does not always hold and at least in some cases, these modified lines are not responsible for introducing the bug. For example, when the bug was caused by a change in an external API. The lack of empirical evidence makes it impossible to assess how important these cases are and therefore, to which extent the assumption is valid. To advance in this direction, and better understand how bugs “are born”, we propose a model for defining criteria to identify the first snapshot of an evolving software system that exhibits a bug. This model, based on the perfect test idea, decides whether a bug is observed after a change to the software. Furthermore, we studied the model’s criteria by carefully analyzing how 116 bugs were introduced in two different open source software projects. The manual analysis helped classify the root cause of those bugs and created manually curated datasets with bug-introducing changes and with bugs that were not introduced by any change in the source code. Finally, we used these datasets to evaluate the performance of four existing SZZ-based algorithms for detecting bug-introducing changes. We found that SZZ-based algorithms are not very accurate, especially when multiple commits are found; the F-Score varies from 0.44 to 0.77, while the percentage of true positives does not exceed 63%. Our results show empirical evidence that the prevalent assumption, “a bug was introduced by the lines of code that were modified to fix it”, is just one case of how bugs are introduced in a software system. Finding what introduced a bug is not trivial: bugs can be introduced by the developers and be in the code, or be created irrespective of the code. Thus, further research towards a better understanding of the origin of bugs in software projects could help to improve design integration tests and to design other procedures to make software development more robust.
- Published
- 2020
18. Gender Diversity and Community Smells: Insights From the Trenches
- Author
-
Gemma Catolino, Fabio Palomba, Alexander Serebrenik, Filomena Ferrucci, Damian A. Tamburri, and Software Engineering and Technology
- Subjects
Thesaurus (information retrieval) ,ComputingMilieux_THECOMPUTINGPROFESSION ,Gender diversity ,business.industry ,Software development ,020207 software engineering ,Context (language use) ,02 engineering and technology ,Community Smell ,Gender Diversity ,Survey ,World Wide Web ,5. Gender equality ,0202 electrical engineering, electronic engineering, information engineering ,Sociology ,business ,Software - Abstract
Given growing attention to gender diversity in software development teams, we asked practitioners if it was a useful tool to mitigate undesirable communication patterns. While many participants didn't consider gender diversity useful in this context, those who did were motivated by their own professional experience.
- Published
- 2020
19. A fine-grained data set and analysis of tangling in bug fixing commits
- Author
-
Steffen Herbold, Alexander Trautsch, Benjamin Ledel, Alireza Aghamohammadi, Taher A. Ghaleb, Kuljit Kaur Chahal, Tim Bossenmaier, Bhaveet Nagaria, Philip Makedonski, Matin Nili Ahmadabadi, Kristof Szabados, Helge Spieker, Matej Madeja, Nathaniel Hoy, Valentina Lenarduzzi, Shangwen Wang, Gema Rodríguez-Pérez, Ricardo Colomo-Palacios, Roberto Verdecchia, Paramvir Singh, Yihao Qin, Debasish Chakroborti, Willard Davis, Vijay Walunj, Hongjun Wu, Diego Marcilio, Omar Alam, Abdullah Aldaeej, Idan Amit, Burak Turhan, Simon Eismann, Anna-Katharina Wickert, Ivano Malavolta, Matúš Sulír, Fatemeh Fard, Austin Z. Henley, Stratos Kourtzanidis, Eray Tuzun, Christoph Treude, Simin Maleki Shamasbi, Ivan Pashchenko, Marvin Wyrich, James Davis, Alexander Serebrenik, Ella Albrecht, Ethem Utku Aktas, Daniel Strüber, Johannes Erbel, Software and Sustainability (S2), Network Institute, Information Management & Software Engineering, and Software Engineering and Technology
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Tangled commits ,Economics ,ddc:330 ,Research turk ,Software Science ,Software ,Registered report ,Bug fix ,Manual validation ,Tangled changes - Abstract
Context: Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs. Objective: We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits. Methods: We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each line is labeled by four participants. If at least three participants agree on the same label, we have consensus. Results: We estimate that between 17% and 32% of all changes in bug fixing commits modify the source code to fix the underlying problem. However, when we only consider changes to the production code files this ratio increases to 66% to 87%. We find that about 11% of lines are hard to label leading to active disagreements between participants. Due to confirmed tangling and the uncertainty in our data, we estimate that 3% to 47% of data is noisy without manual untangling, depending on the use case. Conclusion: Tangled commits have a high prevalence in bug fixes and can lead to a large amount of noise in the data. Prior research indicates that this noise may alter results. As researchers, we should be skeptics and assume that unvalidated data is likely very noisy, until proven otherwise., Status: Accepted at Empirical Software Engineering
- Published
- 2022
20. Quality Gatekeepers: Investigating the Effects of Code Review Bots on Pull Request Activities
- Author
-
Mairieli Wessel, Alexander Serebrenik, Igor Wiese, Igor Steinmacher, Marco A. Gerosa, and Software Engineering and Technology
- Subjects
GitHub Bots ,Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Automation ,Software engineering ,Code review ,Software bots ,Open source software ,Software - Abstract
Software bots have been facilitating several development activitiesin Open Source Software (OSS) projects, including code review. However,these bots may bring unexpected impacts to group dynamics, as frequentlyoccurs with new technology adoption. Understanding and anticipating sucheffects is important for planning and management. To analyze these effects, weinvestigate how several activity indicators change after the adoption of a codereview bot. We employed a regression discontinuity design on 1,194 softwareprojects from GitHub. We also interviewed 12 practitioners, including open-source maintainers and contributors. Our results indicate that the adoptionof code review bots increases the number of monthly merged pull requests,decreases monthly non-merged pull requests, and decreases communicationamong developers. From the developers’ perspective, these effects are explainedby the transparency and confidence the bot comments introduce, in additionto the changes in the discussion focused on pull requests. Practitioners andmaintainers may leverage our results to understand, or even predict, bot effectson their projects.
- Published
- 2022
21. Beyond Technical Aspects
- Author
-
Fabio Palomba, Damian A. Tamburri, Francesca Arcelli Fontana, Andy Zaidman, Alexander Serebrenik, Rocco Oliveto, Data Governance, Software Engineering and Technology, Palomba, F, Tamburri, D, Arcelli Fontana, F, Oliveto, R, Zaidman, A, and Serebrenik, A
- Subjects
Computer science ,organizational structure ,02 engineering and technology ,mixed-methods study ,Code smell ,Predictive models ,Tools ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Code smells ,community smells ,Consumer behaviour ,Software engineering ,business.industry ,Software development ,020207 software engineering ,Software maintenance ,Open source software ,Data science ,Software metric ,Software quality ,community smell ,Feature extraction ,InformationSystems_MISCELLANEOUS ,business ,Convergence ,Software ,Software evolution - Abstract
Code smells are poor implementation choices applied by developers during software evolution that often lead to critical flaws or failure. Much in the same way, community smells reflect the presence of organizational and socio-Technical issues within a software community that may lead to additional project costs. Recent empirical studies provide evidence that community smells are often-if not always-connected to circumstances such as code smells. In this paper we look deeper into this connection by conducting a mixed-methods empirical study of 117 releases from 9 open-source systems. The qualitative and quantitative sides of our mixed-methods study were run in parallel and assume a mutually-confirmative connotation. On the one hand, we survey 162 developers of the 9 considered systems to investigate whether developers perceive relationship between community smells and the code smells found in those projects. On the other hand, we perform a fine-grained analysis into the 117 releases of our dataset to measure the extent to which community smells impact code smell intensity (i.e., criticality). We then propose a code smell intensity prediction model that relies on both technical and community-related aspects. The results of both sides of our mixed-methods study lead to one conclusion: community-related factors contribute to the intensity of code smells. This conclusion supports the joint use of community and code smells detection as a mechanism for the joint management of technical and social problems around software development communities.
- Published
- 2021
22. Self-Admitted Technical Debt Practices: A Comparison Between Industry and Open-Source
- Author
-
Gianmarco Fucci, Massimiliano Di Penta, Fiorella Zampetti, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
Source code ,Self-admitted technical debt ,Computer science ,business.industry ,media_common.quotation_subject ,Software quality ,Technical debt ,Empirical study ,Annotation ,Software ,Open source ,Phenomenon ,Code (cryptography) ,Software engineering ,business ,media_common - Abstract
Self-admitted technical debt (SATD) consists of annotations, left by developers as comments in the source code or elsewhere, as a reminder about pieces of software manifesting technical debt (TD), i.e., “not being ready yet”. While previous studies have investigated SATD management and its relationship with software quality, there is little understanding of the extent and circumstances to which developers admit TD. This paper reports the results of a study in which we asked developers from industry and open-source about their practices in annotating source code and other artifacts for self-admitting TD. The study consists of two phases. First, we conducted 10 interviews to gather a first understanding of the phenomenon and to prepare a survey questionnaire. Then, we surveyed 52 industrial developers as well as 49 contributors to open-source projects. Results of the study show how the TD annotation practices, as well as the typical content of SATD comments, are very similar between open-source and industry. At the same time, our results highlight how, while open-source code is spread of comments admitting the need for improvements, SATD in industry may be dictated by organizational guidelines but, at the same time, implicitly discouraged by the fear of admitting responsibilities. Results also highlight the need for tools helping developers to achieve a better TD awareness.
- Published
- 2021
23. Single-state state machines in model-driven software engineering: an exploratory study
- Author
-
Nan Yang, Pieter J. L. Cuijpers, Ramon R. H. Schiffelers, Alexander Serebrenik, Johan J. Lukkien, Interconnected Resource-aware Intelligent Systems, Mathematics and Computer Science, Software Engineering and Technology, EAISI Mobility, and EAISI High Tech Systems
- Subjects
Finite-state machine ,Computer science ,business.industry ,Interface (Java) ,Artifact (software development) ,modeling practice ,Domain (software engineering) ,Behavioral modeling ,single-state state machines ,Component (UML) ,Code generation ,Model-driven architecture ,Model-driven engineering ,Software engineering ,business ,computer ,Software ,computer.programming_language - Abstract
Context Models, as the main artifact in model-driven engineering, have been extensively used in the area of embedded systems for code generation and verification. One of the most popular behavioral modeling techniques is the state machine. Many state machine modeling guidelines recommend that a state machine should have more than one state in order to be meaningful. However, single-state state machines (SSSMs) violating this recommendation have been used in modeling cases reported in the literature. Objective We aim for understanding the phenomenon of using SSSMs in practice as understanding why developers violate the modeling guidelines is the first step towards improvement of modeling tools and practice. Method To study the phenomenon, we conducted an exploratory study which consists of two complementary studies. The first study investigated the prevalence and role of SSSMs in the domain of embedded systems, as well as the reasons why developers use them and their perceived advantages and disadvantages. We employed the sequential explanatory strategy, including repository mining and interview, to study 1500 state machines from 26 components at ASML, a leading company in manufacturing lithography machines from the semiconductor industry. In the second study, we investigated the evolutionary aspects of SSSMs, exploring when SSSMs are introduced to the systems and how developers modify them by mining the largest state-machine-based component from the company. Results We observe that 25 out of 26 components contain SSSMs. Our interviews suggest that SSSMs are used to interface with the existing code, to deal with tool limitations, to facilitate maintenance and to ease verification. Our study on the evolutionary aspects of SSSMs reveals that the need for SSSMs to deal with tool limitations grew continuously over the years. Moreover, only a minority of SSSMs have been changed between SSSM and multiple-state state machine (MSSM) during their evolution. The most frequent modifications developers made to SSSMs is inserting events with constraints on the execution of the events. Conclusions Based on our results, we provide implications for developers and tool builders. Furthermore, we formulate hypotheses about the effectiveness of SSSMs, the impacts of SSSMs on development, maintenance and verification as well as the evolution of SSSMs.
- Published
- 2021
24. Assessment of Off-the-Shelf SE-specific Sentiment Analysis Tools: An Extended Replication Study
- Author
-
Nicole Novielli, Fabio Calefato, Filippo Lanubile, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
FOS: Computer and information sciences ,business.industry ,Computer science ,Sentiment analysis ,Retraining ,020207 software engineering ,02 engineering and technology ,Replicate ,Data science ,Replication (computing) ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Jargon ,Software ,Empirical research ,Human aspects of software engineering ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Replication study ,business ,Human communication - Abstract
Sentiment analysis methods have become popular for investigating human communication, including discussions related to software projects. Since general-purpose sentiment analysis tools do not fit well with the information exchanged by software developers, new tools, specific for software engineering (SE), have been developed. We investigate to what extent SE-specific tools for sentiment analysis mitigate the threats to conclusion validity of empirical studies in software engineering, highlighted by previous research. First, we replicate two studies addressing the role of sentiment in security discussions on GitHub and in question-writing on Stack Overflow. Then, we extend the previous studies by assessing to what extent the tools agree with each other and with the manual annotation on a gold standard of 600 documents. We find that different SE-specific sentiment analysis tools might lead to contradictory results at a fine-grain level, when used 'off-the-shelf'. Conversely, platform-specific tuning or retraining might be needed to take into account differences in platform conventions, jargon, or document lengths., Comment: Accepted for publication in Empirical Software Engineering
- Published
- 2021
25. SAW-BOT: Proposing Fixes for Static Analysis Warnings with GitHub Suggestions
- Author
-
Dragos Serban, Alexander Serebrenik, Bart Golsteijn, and Ralph Holdorp
- Subjects
Software ,business.industry ,Computer science ,Experience report ,Static analysis ,Wizard of Oz experiment ,Baseline (configuration management) ,Software engineering ,business - Abstract
In this experience report we present SAW-BOT, a bot proposing fixes for static analysis warnings. The bot has been evaluated with five professional software developers by means of a Wizard of Oz experiment, semi-structured interviews and the mTAM questionnaire. We have observed that developers prefer GitHub suggestions to two baseline operation modes. Our study indicates that GitHub suggestions are a viable mechanism for implementing bots proposing fixes for static analysis warnings.
- Published
- 2021
26. Sentiment and emotion in software engineering
- Author
-
Alexander Serebrenik, Nicole Novielli, and Software Engineering and Technology
- Subjects
Software ,Computer science ,business.industry ,Sentiment analysis ,0202 electrical engineering, electronic engineering, information engineering ,020207 software engineering ,Context (language use) ,02 engineering and technology ,Computational linguistics ,Software engineering ,business ,Productivity - Abstract
We are glad to present the "Sentiment and Emotion in Software Engineering" special issue of IEEE Software. In recent years, this topic has gained attention from both the research community and industry. Indeed, academic researchers have organized a number of highly successful workshops, such as the International Workshop on Emotional Awareness in Software Engineering (SEmotion) in 2016-2019. The topic was also explored in a special issue of The Journal of Systems and Software. 1 Both small and large companies have considered emotions in some aspects of their work. For example, Microsoft considers emotions in the context of inclusive hiring and support of neurodiverse developers. 2 Meanwhile, SkyTV aims at enhancing productivity of teams 3 by increasing their emotional awareness. Yet another company, source{d}, designs techniques for detection of sentiment in source-code repositories. 4.
- Published
- 2019
27. OpenStack Gender Diversity Report
- Author
-
Alexander Serebrenik, Gregorio Robles, Daniel Izquierdo, Nicole Huesman, and Software Engineering and Technology
- Subjects
diversity and inclusion ,ComputingMilieux_THECOMPUTINGPROFESSION ,Gender diversity ,Computer science ,business.industry ,Field (Bourdieu) ,020207 software engineering ,openstack foundation ,02 engineering and technology ,Data science ,open source software ,Open source ,Cultural diversity ,0202 electrical engineering, electronic engineering, information engineering ,gender diversity ,business ,Software ,Agile software development - Abstract
The OpenStack Foundation's goal is to “promote the global development,distribution and adoption of open infrastructure." As in many other open source communities, and in the technology industry as a whole, the OpenStack community experienced a lack of representation of females andunderrepresented minorities, a fact that should be supported with evidence. Intel and Bitergia have conducted an assessment of the current state of gender diversity within the community, examining both code and non-code contributions, including leadership, governance, and event representation, among other elements. In this paper, the authors summarize the results of this assessment and discuss the importance of data to increase awareness of the topic and later use those numbers to improve the diversity and inclusion within the OpenStack community. This is the first comprehensive analysis of the OpenStack gender diversity status and has opened the possibility to extend this to othercommunities.
- Published
- 2019
28. An Interview Study of how Developers use Execution Logs in Embedded Software Engineering
- Author
-
Pieter J. L. Cuijpers, Johan Lukkien, Alexander Serebrenik, Ramon R. H. Schiffelers, and Nan Yang
- Subjects
Embedded software ,Software ,Computer science ,business.industry ,Concurrency ,Task analysis ,Domain knowledge ,Software design ,Software system ,Software engineering ,business ,Abstraction (linguistics) - Abstract
Execution logs capture the run-time behavior of software systems. To assist developers in their maintenance tasks, many studies have proposed tools to analyze execution information from logs. However, it is as yet unknown how industry developers analyze logs in embedded software engineering. In order to bridge the gap, we study how developers analyze logs by interviewing 25 software developers from ASML, which is a leading company in developing lithography machines. In particular, we explore the type of logs developers analyze, the purposes for which developers analyze logs, the information developers need from logs and their expectation on tool support. As the main contribution, we observed that the lack of domain knowledge, lack of familiarity with code base and software design, and presence of concurrency, raise major challenges in log analysis for such complex and multidisciplinary systems. Particularly, we observed that inspecting execution information at different levels of abstraction is useful to develop comprehension of such complex systems. However, obtaining the abstraction is difficult with current tools. Our study has several implications. The empirical evidence provided by our study implies the need to support log inspection and comparison with multiple levels of abstraction, categorize log differences, and recover links between different types of logs.
- Published
- 2021
29. The Diversity Crisis in Software Development
- Author
-
Khaled Albusays, Pernille Bjørn, Laura Dabbish, Emerson Murphy-Hill, Margaret-Anne Storey, Alexander Serebrenik, Denae Ford, and Software Engineering and Technology
- Subjects
Inclusion (disability rights) ,ComputingMilieux_THECOMPUTINGPROFESSION ,business.industry ,Best practice ,media_common.quotation_subject ,Software development ,020207 software engineering ,02 engineering and technology ,Public relations ,Payment ,Software ,0202 electrical engineering, electronic engineering, information engineering ,ComputingMilieux_COMPUTERSANDSOCIETY ,The Internet ,business ,Socioeconomic status ,media_common ,Diversity (politics) - Abstract
This special issue of IEEE Software focuses on diversity and inclusion in software development, presenting research results and best practices for making the field equitable for all. It is well documented that the industry does not provide evenhanded participation conditions. Research has shown that implicit gender biases significantly impact hiring decisions,1 women disengage faster than men,2 Palestinian tech entrepreneurs do not have access to Internet-based distribution and payment platforms,3 software developers with a visual impairment lack tools to navigate code editors,4,5 and women are sometimes less likely to get their code accepted.6 Tools, processes, products, and education are not inclusive. Dimensions such as geography, gender, socioeconomic politics, age, ethnicity, and disability shape who can participate in creating technology.
- Published
- 2021
30. An Exploratory Study on Confusion in Code Reviews
- Author
-
Nicole Novielli, Felipe Ebert, Alexander Serebrenik, and Fernando Castor
- Subjects
Process (engineering) ,Computer science ,Exploratory research ,Empirical software engineering ,02 engineering and technology ,Scientific literature ,computer.software_genre ,Code (semiotics) ,Code reviews ,0202 electrical engineering, electronic engineering, information engineering ,survey ,Code review ,code review ,05 social sciences ,050301 education ,card sorting ,020207 software engineering ,Data science ,Software quality ,confusion ,Card sorting ,Systematic mapping study ,0503 education ,Knowledge transfer ,computer ,Software ,software engineering - Abstract
ContextCode review is a widely used technique of systematic examination of code changes which aims at increasing software quality. Code reviews provide several benefits for the project, including finding bugs, knowledge transfer, and assurance of adherence to project guidelines and coding style. However, code reviews have a major cost: they can delay the merge of the code change, and thus, impact the overall development process. This cost can be even higher if developers do not understand something, i.e., when developers faceconfusionduring the code review.ObjectiveThis paper studies the phenomenon ofconfusionin code reviews. Understanding confusion is an important starting point to help reducing the cost of code reviews and enhance the effectiveness of this practice, and hence, improve the development process.MethodWe conducted two complementary studies. The first one aimed at identifying the reasons for confusion in code reviews, its impacts, and the coping strategies developers use to deal with it. Then, we surveyed developers to identify the most frequently experienced reasons for confusion, and conducted a systematic mapping study of solutions proposed for those reasons in the scientific literature.ResultsFrom the first study, we build a framework with 30 reasons for confusion, 14 impacts, and 13 coping strategies. The results of the systematic mapping study shows 38 articles addressing the most frequent reasons for confusion. From those articles, we found 13 different solutions for confusion proposed in the literature, and five impacts were established related to the most frequent reasons for confusion.ConclusionsBased on the solutions identified in the mapping study, or the lack of them, we propose an actionable guideline for developers on how to cope with confusion during code reviews; we also make several suggestions how tool builders can support code reviews. Additionally, we propose a research agenda for researchers studying code reviews.
- Published
- 2021
31. What to Expect from Code Review Bots on GitHub?
- Author
-
Igor Steinmacher, Marco Aurélio Gerosa, Igor Wiese, Alexander Serebrenik, and Mairieli Wessel
- Subjects
Code review ,Computer science ,business.industry ,ComputingMilieux_PERSONALCOMPUTING ,Code coverage ,020207 software engineering ,02 engineering and technology ,Open source software ,computer.software_genre ,Software quality ,Continuous integration ,Software ,Interfacing ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Software engineering ,business ,computer ,Dropout (neural networks) - Abstract
Software bots are used by Open Source Software (OSS) projects to streamline the code review process. Interfacing between developers and automated services, code review bots report continuous integration failures, code quality checks, and code coverage. However, the impact of such bots on maintenance tasks is still neglected. In this paper, we study how project maintainers experience code review bots. We surveyed 127 maintainers and asked about their expectations and perception of changes incurred by code review bots. Our findings reveal that the most frequent expectations include enhancing the feedback bots provide to developers, reducing the maintenance burden for developers, and enforcing code coverage. While maintainers report that bots satisfied their expectations, they also perceived unexpected effects, such as communication noise and newcomers' dropout. Based on these results, we provide a series of implications for bot developers, as well as insights for future research.
- Published
- 2020
32. Effects of Adopting Code Review Bots on Pull Requests to OSS Projects
- Author
-
Alexander Serebrenik, Igor Wiese, Marco Aurélio Gerosa, Mairieli Wessel, and Igor Steinmacher
- Subjects
Code review ,Computer science ,business.industry ,020207 software engineering ,02 engineering and technology ,Open source software ,Group dynamic ,computer.software_genre ,01 natural sciences ,010104 statistics & probability ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Regression discontinuity design ,Leverage (statistics) ,0101 mathematics ,Software engineering ,business ,computer - Abstract
Software bots, which are widely adopted by Open Source Software (OSS) projects, support developers on several activities, including code review. However, as with any new technology adoption, bots may impact group dynamics. Since understanding and anticipating such effects is important for planning and management, we investigate how several activity indicators change after the adoption of a code review bot. We employed a regression discontinuity design on 1,194 software projects from GitHub. Our results indicate that the adoption of code review bots increases the number of monthly merged pull requests, decreases monthly non-merged pull requests, and decreases communication among developers. Practitioners and maintainers may leverage our results to understand, or even predict, bot effects on their projects’ social interactions.
- Published
- 2020
33. Automatic Support for Multi-Domain Model Management
- Author
-
Alexander Serebrenik, Mark van den Brand, and Weslley Torres
- Subjects
Dependency (UML) ,Source code ,business.industry ,Process (engineering) ,Computer science ,media_common.quotation_subject ,020207 software engineering ,02 engineering and technology ,Optical character recognition ,computer.software_genre ,Notation ,Domain (software engineering) ,Consistency (database systems) ,Software ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Software engineering ,business ,computer ,media_common - Abstract
The process of developing complex systems often involves knowledge of engineers from multiple domains: e.g., to develop a robot one needs to combine expertise about mechanics, electronics, and software. Such domain-specific knowledge is often represented in a form of interdependent models, consequently a change in a model of one domain might impact a model from a different domain. Thus, identifying which models are affected due to a change is an important problem, which is further exacerbated due to heterogeneity of modeling notations used.The aim of this PhD research project is to facilitate model management in a multi-domain setting. In the earlier stage of this study, we investigated the available approaches used to manage models from different domains. We concluded that the available approaches are tool-dependent, and do not fully support co-evolution of the models. Additionally, previous research recommends to explicitly indicate the dependency between models in order to support the co-evolution of models from different domains. Since these models are created using different modeling notations we believe that it is not reasonable to develop a tool to parse every notation. Furthermore, it is possible that the source code of the model is missing, but engineers still have an image of the model. Thus, to ensure the maintenance of multi-domain systems we investigated the suitability of optical character recognition (OCR) as a uniform approach. We observed that even though OCR has shortcomings, it produces satisfactory results, and once the identified shortcomings are addressed, OCR can become a crucial technology to support the evolution of multi-domain systems. To this end we envision the development of an infrastructure where we can use OCR to identify relationships between models from different domains, store them in a structured manner making it easier to maintain the consistency of the entire system.
- Published
- 2020
34. Suitability of Optical Character Recognition (OCR) for Multi-domain Model Management
- Author
-
Alexander Serebrenik, Mark van den Brand, and Weslley Torres
- Subjects
Focus (computing) ,Computer science ,business.industry ,010401 analytical chemistry ,020206 networking & telecommunications ,Cloud computing ,02 engineering and technology ,Optical character recognition ,Mechatronics ,computer.software_genre ,Notation ,01 natural sciences ,0104 chemical sciences ,Software ,Human–computer interaction ,Component (UML) ,0202 electrical engineering, electronic engineering, information engineering ,Graphical model ,business ,computer - Abstract
The development of systems following model-driven engineering can include models from different domains. For example, to develop a mechatronic component one might need to combine expertise about mechanics, electronics, and software. Although these models belong to different domains, the changes in one model can affect other models causing inconsistencies in the entire system. There are, however, a limited amount of tools that support management of models from different domains. These models are created using different modeling notations and it is not plausible to use a multitude of parsers geared towards each and every modeling notation. Therefore, to ensure maintenance of multi-domain systems, we need a uniform approach that would be independent from the peculiarities of the notation. Meaning that such a uniform approach can only be based on something which is present in all those models, i.e., text, boxes, and lines. In this study we investigate the suitability of optical character recognition (OCR) as a basis for such a uniformed approach. We select graphical models from various domains that typically combine textual and graphical elements, and we focus on text-recognition without looking for additional shapes. We analyzed the performance of Google Cloud Vision and Microsoft Cognitive Services, two off-the-shelf OCR services. Google Cloud Vision performed better than Microsoft Cognitive Services being able to detect text of 70% of model elements. Errors made by Google Cloud Vision are due to absence of support for text common in engineering formulas, e.g., Greek letters, equations, and subscripts, as well as text typeset on multiple lines. We believe that once these shortcomings are addressed, OCR can become a crucial technology supporting multi-domain model management.
- Published
- 2020
35. Gender, Sentiment and Emotions, and Safety-Critical Systems
- Author
-
Alexander Serebrenik, Jeffrey C. Carver, Alejandro Valdezate, Birgit Penzenstadler, Rafael Capilla, and Software Engineering and Technology
- Subjects
SPL ,Computer science ,17th International Conference on Software Reuse ,02 engineering and technology ,variability management ,Reuse ,GenderMag ,Software ,software engineering education ,software product lines ,0502 economics and business ,gender ,0202 electrical engineering, electronic engineering, information engineering ,Practitioners' Digest ,safety-critical systems ,Focus (computing) ,sentiment ,business.industry ,Stack Overflow ,05 social sciences ,SPLE ,Software development ,020207 software engineering ,gender stereotypes ,Senti4SD ,40th International Conference on Software Engineering ,software reuse ,Engineering management ,Life-critical system ,software product line engineering ,sentiment analysis ,software development ,business ,050203 business & management ,software engineering - Abstract
This issue's article reports from the 40th International Conference on Software Engineering (ICSE 18) and the 17th International Conference on Software Reuse (ICSR 18). The ICSE papers focus on sociotechnical issues related to gender and sentiment or emotion. The ICSR paper focuses on safety-critical systems.
- Published
- 2018
36. Gender in Software Engineering
- Author
-
Alexander Serebrenik, Jeffrey C. Carver, and Software Engineering and Technology
- Subjects
Gender equity ,Engineering ,ComputingMilieux_THECOMPUTINGPROFESSION ,Engineering profession ,business.industry ,0202 electrical engineering, electronic engineering, information engineering ,020207 software engineering ,02 engineering and technology ,Software engineering ,business ,Track (rail transport) ,Column (database) ,Software - Abstract
The topic of gender in software engineering received significant attention during the most recent International Conference on Software Engineering (ICSE). Papers related to gender appeared in the main research track, the Software Engineering in Society (SEIS) track, and the second Gender Equity (GE) workshop (https://sites.google.com/view/ge-icse2019). Three of the papers summarized in this column are coauthored by the column authors.
- Published
- 2019
37. How do community smells influence code smells?
- Author
-
Alexander Serebrenik, Francesca Arcelli Fontana, Damian A. Tamburri, Rocco Oliveto, Fabio Palomba, Andy Zaidman, Palomba, F, Tamburri, D, Serebrenik, A, Zaidman, A, Arcelli Fontana, F, Oliveto, R, and Software Engineering and Technology
- Subjects
Organisational Structure ,Relation (database) ,business.industry ,Computer science ,05 social sciences ,Code Smells ,Code smell ,020207 software engineering ,02 engineering and technology ,Data science ,ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ,Code (semiotics) ,Community smells ,Software ,0502 economics and business ,0202 electrical engineering, electronic engineering, information engineering ,InformationSystems_MISCELLANEOUS ,Community smell ,business ,050203 business & management - Abstract
Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the same way, community smells reflect sub-optimal organisational and socio-Technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine open-source systems. Then we look deeper into this connection by conducting an empirical study of 117 releases from these systems. Our results indicate that community-related factors are intuitively perceived by most developers as causes of the persistence of code smells. Inspired by this observation we design a community-Aware prediction model for code smells and show that it outperforms a model that does not consider community factors.
- Published
- 2018
38. Introduction to Special Issue on Source Code Analysis and Manipulation
- Author
-
Alexander Serebrenik, Yoshiki Higo, and Software Engineering and Technology
- Subjects
Source code ,Hardware and Architecture ,Computer science ,Programming language ,media_common.quotation_subject ,computer.software_genre ,computer ,Software ,Information Systems ,media_common - Published
- 2021
39. Reducing user input requests to improve IT support ticket resolution process
- Author
-
Allahbaksh Mohammedali Asadullah, Monika Gupta, Alexander Serebrenik, and Srinivas Padmanabhuni
- Subjects
software process ,business.industry ,Computer science ,Service level agreement ,process mining ,Software development ,Service management ,020207 software engineering ,02 engineering and technology ,Service provider ,Ticket Granting Ticket ,computer.software_genre ,Ticket resolution time ,Service-level agreement ,machine learning ,User experience design ,020204 information systems ,Service level ,Ticket ,0202 electrical engineering, electronic engineering, information engineering ,Data mining ,business ,computer ,Software ,Computer network - Abstract
Management and maintenance of IT infrastructure resources such as hardware, software and network is an integral part of software development and maintenance projects. Service management ensures that the tickets submitted by users, i.e. software developers, are serviced within the agreed resolution times. Failure to meet those times induces penalty on the service provider. To prevent a spurious penalty on the service provider, non-working hours such as waiting for user inputs are not included in the measured resolution time, that is, a service level clock pauses its timing. Nevertheless, the user interactions slow down the resolution process, that is, add to user experienced resolution time and degrade user experience. Therefore, this work is motivated by the need to analyze and reduce user input requests in tickets’ life cycle.To address this problem, we analyze user input requests and investigate their impact on user experienced resolution time. We distinguish between input requests of two types: real, seeking information from the user to process the ticket and tactical, when no information is asked but the user input request is raised merely to pause the service level clock. Next, we propose a system that preempts a user at the time of ticket submission to provide additional information that the analyst, a person responsible for servicing the ticket, is likely to ask, thus reducing real user input requests. Further, we propose a detection system to identify tactical user input requests.To evaluate the approach, we conducted a case study in a large global IT company. We observed that around 57% of the tickets have user input requests in the life cycle, causing user experienced resolution time to be almost twice as long as the measured service resolution time. The proposed preemptive system preempts the information needs with an average accuracy of 94–99% across five cross validations while traditional approaches such as logistic regression and naive Bayes have accuracy in the range of 50–60%. The detection system identifies around 15% of the total user input requests as tactical. Therefore, the proposed solution can efficiently bring down the number of user input requests and, hence, improve the user-experienced resolution time.
- Published
- 2017
40. On negative results when using sentiment analysis tools for software engineering research
- Author
-
Alexander Serebrenik, Robbert Jongeling, Subhajit Datta, Proshanta Sarkar, and Mathematics and Computer Science
- Subjects
Engineering ,BitTorrent tracker ,business.industry ,Negative results ,Sentiment analysis ,020207 software engineering ,02 engineering and technology ,Resolution (logic) ,Reuse ,Data science ,Domain (software engineering) ,Software ,Product reviews ,Replication study ,0202 electrical engineering, electronic engineering, information engineering ,Sentiment analysis tools ,Stack overflow ,020201 artificial intelligence & image processing ,business ,Software engineering - Abstract
Recent years have seen an increasing attention to social aspects of software engineering, including studies of emotions and sentiments experienced and expressed by the software developers. Most of these studies reuse existing sentiment analysis tools such as SentiStrength and NLTK. However, these tools have been trained on product reviews and movie reviews and, therefore, their results might not be applicable in the software engineering domain. In this paper we study whether the sentiment analysis tools agree with the sentiment recognized by human evaluators (as reported in an earlier study) as well as with each other. Furthermore, we evaluate the impact of the choice of a sentiment analysis tool on software engineering studies by conducting a simple study of differences in issue resolution times for positive, negative and neutral texts. We repeat the study for seven datasets (issue trackers and Stack Overflow questions) and different sentiment analysis tools and observe that the disagreement between the tools can lead to diverging conclusions. Finally, we perform two replications of previously published studies and observe that the results of those studies cannot be confirmed when a different sentiment analysis tool is used.
- Published
- 2017
41. Preface to the Special Issue on Program Comprehension
- Author
-
Alexander Serebrenik, David Lo, and Software Engineering and Technology
- Subjects
Program comprehension ,Mathematics education ,Psychology ,Software - Published
- 2018
42. Software Analysis, Evolution, and Reengineering, and ICT Sustainability
- Author
-
Birgit Penzenstadler, Jeffrey C. Carver, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
Engineering ,ICT4S ,business.industry ,5th International Conference on Information and Communications Technology for Sustainability ,Software development ,020207 software engineering ,02 engineering and technology ,Business process reengineering ,replication studies ,sustainability ,IEEE 25th International Conference on Software Analysis Evolution and Reengineering ,Engineering management ,Green computing ,automated program repair ,Information and Communications Technology ,software development ,Sustainability ,0202 electrical engineering, electronic engineering, information engineering ,SANER ,business ,Software analysis pattern ,Software ,software engineering - Abstract
This issue's article reports on papers from the IEEE 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER 18) and 5th International Conference on Information and Communications Technology for Sustainability (ICT4S 18).
- Published
- 2018
43. Software Maintenance and Evolution and Automated Software Engineering
- Author
-
Alexander Serebrenik and Jeffrey C. Carver
- Subjects
33rd International Conference on Software Maintenance and Evolution ,regular expressions ,regexes ,self-admitted technical debt ,software evolution ,Computer science ,02 engineering and technology ,Column (database) ,32nd International Conference on Automated Software Engineering ,0202 electrical engineering, electronic engineering, information engineering ,Practitioners' Digest ,business.industry ,Software development ,020207 software engineering ,Software maintenance ,ASE 17 ,software maintenance ,technical debt ,QA bots ,Technical debt ,software development ,ICSME 17 ,automated software engineering ,business ,Software engineering ,flaky tests ,Software ,Software evolution ,SATD ,software engineering - Abstract
This issue's column reports on the 33rd International Conference on Software Maintenance and Evolution and 32nd International Conference on Automated Software Engineering. Topics include flaky tests, technical debt, QA bots, and regular expressions.
- Published
- 2018
44. Discovering community patterns in open-source
- Author
-
Damian A. Tamburri, Alexander Serebrenik, Andy Zaidman, Fabio Palomba, and Software Engineering and Technology
- Subjects
Structure (mathematical logic) ,Point (typography) ,Computer science ,Empirical software engineering ,020207 software engineering ,02 engineering and technology ,Reuse ,Community patterns ,Data science ,Core (game theory) ,Empirical research ,Community types ,Phenomenon ,Community health ,Open source systems and community analysis ,0202 electrical engineering, electronic engineering, information engineering ,Key (cryptography) ,Software - Abstract
“There can be no vulnerability without risk; there can be no community without vulnerability; there can be no peace, and ultimately no life, without community.” - [M. Scott Peck]The open-source phenomenon has reached the point in which it is virtually impossible to find large applications that do not rely on it. Such grand adoption may turn into a risk if the community regulatory aspects behind open-source work (e.g., contribution guidelines or release schemas) are left implicit and their effect untracked. We advocate the explicit study and automated support of such aspects and propose Yoshi (Y ielding O pen-S ource H ealth I nformation), a tool able to map open-source communities onto community patterns, sets of known organisational and social structure types and characteristics with measurable core attributes. This mapping is beneficial since it allows, for example, (a) further investigation of community health measuring established characteristics from organisations research, (b) reuse of pattern-specific best-practices from the same literature, and (c) diagnosis of organisational anti-patterns specific to open-source, if any. We evaluate the tool in a quantitative empirical study involving 25 open-source communities from GitHub, finding that the tool offers a valuable basis to monitor key community traits behind open-source development and may form an effective combination with web-portals such as OpenHub or Bitergia. We made the proposed tool open source and publicly available.
- Published
- 2019
45. Empowering OCL research: a large-scale corpus of open-source data from GitHub
- Author
-
Alexander Serebrenik, Josh G. M. Mengerink, Jeroen Noten, Mathematics and Computer Science, and Software Engineering and Technology
- Subjects
Information retrieval ,Generalization ,Computer science ,business.industry ,020207 software engineering ,02 engineering and technology ,Artifact (software development) ,OCL ,Expression (mathematics) ,Field (computer science) ,Acceleo ,EMF ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Model-driven architecture ,Model-driven engineering ,business ,computer ,computer.programming_language ,Abstraction (linguistics) ,Object Constraint Language ,Dataset ,Replication studies - Abstract
Model-driven engineering (MDE) enables the rise in abstraction during development in software and system design. In particular, meta-models become a central artifact in the process, and are supported by various other artifacts such as editors and transformation. In order to define constraints, invariants, and queries on model-driven artifacts, a generic language has been developed: the Object Constraint Language (OCL). In literature, many studies into OCL have been performed on small collections of data, mostly originating from a single source (e.g., OMG standards). As such, generalization of results beyond the data studied is often mentioned as a threat to validity. Creation of a benchmark dataset has already been identified as a key enabler to address the generalization threat. To facilitate further empirical studies in the field of OCL, we present the first large-scale dataset of 103262 OCL expression, systematically extracted from 671 GitHub repositories. In particular, our dataset has extracted these expressions from various types of files (a.o. metamodels and model-to-text transformations). In this work we showcase a variety of different studies performed using our dataset, and describe several other types that could be performed. We extend previous work with data and experiments regarding OCL in model-to-text (mtl) transformations.
- Published
- 2019
46. Gender diversity and women in software teams
- Author
-
Alexander Serebrenik, Filomena Ferrucci, Gemma Catolino, Damian A. Tamburri, Fabio Palomba, and Software Engineering and Technology
- Subjects
Empirical Study ,Gender diversity ,business.industry ,Software Organizational Structures ,Software development ,Gender balance ,Affect (psychology) ,Gender Balance ,Community Smells ,Balance (accounting) ,Empirical research ,Software ,Organizational structure ,Marketing ,business ,Psychology - Abstract
As social as software engineers are, there is a known and established gender imbalance in our community structures, regardless of their open- or closed-source nature. To shed light on the actual benefits of achieving such balance, this empirical study looks into the relations between such balance and the occurrence of community smells, that is, sub-optimal circumstances and patterns across the software organizational structure. Examples of community smells are Organizational Silo effects (overly disconnected sub-groups) or Lone Wolves (defiant community members). Results indicate that the presence of women generally reduces the amount of community smells. We conclude that women are instrumental to reducing community smells in software development teams.
- Published
- 2019
47. Towards recognizing the emotions of developers using biometrics: the design of a field study
- Author
-
Luigi Quaranta, Daniela Girardi, Alexander Serebrenik, Filippo Lanubile, Nicole Novielli, and Software Engineering and Technology
- Subjects
Emotion detection ,Biometrics ,business.industry ,Process (engineering) ,Applied psychology ,Biometric sensors ,Empirical software engineering ,Field study ,Field (computer science) ,Work performance ,Software ,Personal wellbeing ,Psychology ,business - Abstract
During their daily working activities, developers experience a wide range of emotions that are known to impact their personal wellbeing and, consequently, their work performance. As such, being aware of own and collaborators' emotions is crucial to enhance the collaborative development process. In this paper we present the design of a field study aimed at i) assessing the feasibility of emotion detection using non-invasive biometric sensors and ii) investigating the correlation between daily working activities and positive/negative emotions experienced by software developers. The long-term goal of our research is to provide recommendations to improve developers' mental well-being and productivity based on the emotions they experience.
- Published
- 2019
48. Does UML modeling associate with lower defect proneness?
- Author
-
Michel R. V. Chaudron, Bogdan Vasilescu, Adithya Raghuraman, Truong Ho-Quang, Alexander Serebrenik, and Software Engineering and Technology
- Subjects
Computer science ,business.industry ,Maintainability ,Software quality ,020207 software engineering ,Open-source-software ,02 engineering and technology ,UML ,Empirical research ,Software ,Unified Modeling Language ,Software bug ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Software design ,Software system ,Software engineering ,business ,computer ,computer.programming_language - Abstract
The benefits of modeling the design to improve the quality and maintainability of software systems have long been advocated and recognized. Yet, the empirical evidence on this remains scarce. In this paper, we fill this gap by reporting on an empirical study of the relationship between UML modeling and software defect proneness in a large sample of open-source GitHub projects. Using statistical modeling, and controlling for confounding variables, we show that projects containing traces of UML models in their repositories experience, on average, a statistically minorly different number of software defects (as mined from their issue trackers) than projects without traces of UML models.
- Published
- 2019
49. How stable are Eclipse application framework internal interfaces?
- Author
-
Businge, John, Kawuma, Simon, Openja, Moses, Bainomugisha, Engineer, Serebrenik, Alexander, Shihab, Emad, Lo, David, Wang, Xinyu, and Software Engineering and Technology
- Subjects
Theoretical computer science ,Java ,Computer science ,Interface (Java) ,media_common.quotation_subject ,Framework ,02 engineering and technology ,Stability (probability) ,Eclipse ,Internal Interfaces Promotion ,Software ,Promotion (rank) ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Internal Interfaces ,media_common ,computer.programming_language ,business.industry ,Application framework ,Internal Interfaces Stability ,020207 software engineering ,Software Evolution ,business ,computer ,Software evolution - Abstract
Eclipse framework provides two interfaces: stable interfaces (APIs) and unstable interfaces (non-APIs). Despite the non-APIs being discouraged and unsupported, their usage is not uncommon. Previous studies showed that applications using relatively old non-APIs are more likely to be compatible with new releases compared to the ones that used newly introduced non-APIs; that the growth rate of non-APIs is nearly twice as much as that of APIs; and that the promotion of non-API to APIs happens at a slow pace since API providers have no assistance to identify public interface candidates. Motivated by these findings, our main aim was to empirically investigate the entire population (2,380K) of non-APIs to find the non-APIs that remain stable for a long period of time. We employ cross-project clone detection to identify whether non-APIs introduced in a given Eclipse release remain stable over successive releases. We provide a dataset of 327K stable non-API methods that can be used by both Eclipse interface providers as possible candidates of promotion. Instead of promoting non-APIs which are too fine-grained, we summarized the non-API methods groups in given classes that are stable together and present class-level non-APIs that possible candidates promotion. We have shown that it is possible to predict the stability of a non-API in subsequent Eclipse releases with a precision of $\ge 56$%, a recall of $\ge 96$% and an AUC of $\ge 92$% and an F-measure of $\ge 81$%. We have also shown that the metrics of length of a method and number of method parameters in a non-API method are very good predictors for the stability of the non-API in successive Eclipse releases. The results provided can help the API providers to estimate a priori how much work could be involved in performing the promotion.
- Published
- 2019
50. Empirical analysis of the relationship between CC and SLOC in a large corpus of Java methods and C functions
- Author
-
Alexander Serebrenik, D. Landman, Eric Bouwers, and Jurgen Vinju
- Subjects
Source code ,Source lines of code ,Theoretical computer science ,Java ,Computer science ,business.industry ,media_common.quotation_subject ,Software development ,020207 software engineering ,Cyclomatic complexity ,02 engineering and technology ,Software maintenance ,Metric (mathematics) ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Quality (business) ,business ,computer ,Software ,media_common ,computer.programming_language - Abstract
Measuring the internal quality of source code is one of the traditional goals of making software development into an engineering discipline. Cyclomatic complexity CC is an often used source code quality metric, next to source lines of code SLOC. However, the use of the CC metric is challenged by the repeated claim that CC is redundant with respect to SLOC because of strong linear correlation.
- Published
- 2015
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.