-
Exit the Code: A Model for Understanding Career Abandonment Intention Among Software Developers
Authors:
Tiago Massoni,
Ricardo Duarte,
Ruan Oliveira
Abstract:
Background. Career abandonment, the process in which professionals leave the activity, assuming positions in another area, among software developers involves frustration with the lost investment and emotional and financial costs, even though being beneficial for the human being, depending on personal context. Previous studies have identified work-related motivators for career abandonment, such as…
▽ More
Background. Career abandonment, the process in which professionals leave the activity, assuming positions in another area, among software developers involves frustration with the lost investment and emotional and financial costs, even though being beneficial for the human being, depending on personal context. Previous studies have identified work-related motivators for career abandonment, such as the threat of obsolescence, unstable requirements, and low code quality, though these factors have primarily been examined in former developers. The relationship between these motivators and the intention to abandon among currently active developers remains unexplored. Goal. This article investigates the relationship between key work-related motivators and currently active software developers intention to abandon their careers. Method. We employed a quantitative approach, surveying 221 software developers to validate a theoretical model for career abandonment intention, based on an adaptation of the Investment Model, which incorporates satisfaction with technical aspects of the profession as well as the intention to abandon. Findings. Exploratory and confirmatory factor analyses, through structural equation modeling (SEM), provided robust support for the adapted Investment Model in explaining software developers intention to abandon their careers. Moreover, career commitment significantly impacts the intention to leave the profession, being positively influenced by satisfaction with technical work-related factors and negatively influenced by career alternatives and career investment. Conclusion. The paper offers valuable insights for organizational leaders and research, potentially guiding retention strategies to better support developers, and the adoption of theoretical models to explain career abandonment.
△ Less
Submitted 6 March, 2025;
originally announced March 2025.
-
A symplectic viewpoint on Anosov flows
Authors:
Thomas Massoni
Abstract:
This survey explores the geometry of three-dimensional Anosov flows from the perspective of contact and symplectic geometry, following the work of Mitsumatsu, Eliashberg-Thurston, Hozoori, and the author. We also present a few original results and discuss various open questions and conjectures.
This survey explores the geometry of three-dimensional Anosov flows from the perspective of contact and symplectic geometry, following the work of Mitsumatsu, Eliashberg-Thurston, Hozoori, and the author. We also present a few original results and discuss various open questions and conjectures.
△ Less
Submitted 18 March, 2025; v1 submitted 28 February, 2025;
originally announced March 2025.
-
The Role of the Retrospective Meetings in Detecting, Refactoring and Monitoring Community Smells
Authors:
Carlos Dantas,
Tiago Massoni,
Camila Sarmento,
Rayana Rocha,
Danielly Gualberto
Abstract:
Retrospective meetings play a vital role in agile development by facilitating team reflection on past work to enhance effectiveness. These meetings address various social aspects, including team dynamics, individual performance, processes, and technologies, ultimately leading to actions for improvement. Despite their importance, limited research has explored how these meetings handle forms of soci…
▽ More
Retrospective meetings play a vital role in agile development by facilitating team reflection on past work to enhance effectiveness. These meetings address various social aspects, including team dynamics, individual performance, processes, and technologies, ultimately leading to actions for improvement. Despite their importance, limited research has explored how these meetings handle forms of social debt, particularly Community Smells -- recurring dysfunctional patterns in team dynamics, such as poor communication or isolated work practices. This study seeks to understand how retrospective meetings address a few core Community Smells, examining whether these meetings help identify smells, make it possible to formulate refactoring strategies, support the monitoring of refactoring actions, and contribute to preventing the most prominent Community Smells. We conducted semi-structured interviews with 15 practitioners from diverse organizations who regularly participate in retrospective meetings. The interviewees shared their experiences with retrospectives, the challenges discussed, and subsequent improvement actions. The study focused on the four most cited Community Smells in the literature -- Lone Wolf, Organizational Silo, Radio Silence, and Black Cloud. Data was analyzed iteratively using a priori coding to examine Community Smells and inductive open coding inspired by Grounded Theory. The findings indicate that retrospective meetings indeed enable the identification of core Community Smells. However, while strategies for refactoring are often formulated, their implementation and monitoring remain inconsistent. Additionally, an emphasis on positive aspects during these meetings may help in preventing Community Smells. This study offers valuable insights to practitioners and researchers, highlighting the importance of addressing social debt in software development within agile practices.
△ Less
Submitted 25 February, 2025;
originally announced February 2025.
-
Taut foliations and contact pairs in dimension three
Authors:
Thomas Massoni
Abstract:
We present a new construction of codimension-one foliations from pairs of contact structures in dimension three. This constitutes a converse result to a celebrated theorem of Eliashberg and Thurston on approximations of foliations by contact structures. Under suitable hypotheses on the initial contact pairs, the foliations we construct are taut, allowing us to characterize taut foliations entirely…
▽ More
We present a new construction of codimension-one foliations from pairs of contact structures in dimension three. This constitutes a converse result to a celebrated theorem of Eliashberg and Thurston on approximations of foliations by contact structures. Under suitable hypotheses on the initial contact pairs, the foliations we construct are taut, allowing us to characterize taut foliations entirely in terms of contact geometry. This viewpoint reveals some surprising flexible phenomena for taut foliations, and provides new insight into the $L$-space conjecture.
The first part of the proof builds upon the work on Colin and Firmo on positive contact pairs. The second part involves a wide generalization of a technical result of Burago and Ivanov on the construction of branching foliations tangent to continuous plane fields, and might be of independent interest.
△ Less
Submitted 24 May, 2024;
originally announced May 2024.
-
Anosov flows and Liouville pairs in dimension three
Authors:
Thomas Massoni
Abstract:
Building upon the work of Mitsumatsu and Hozoori, we establish a complete homotopy correspondence between three-dimensional Anosov flows and certain pairs of contact forms that we call Anosov Liouville pairs. We show a similar correspondence between projectively Anosov flows and bi-contact structures, extending the work of Mitsumatsu and Eliashberg-Thurston. As a consequence, every Anosov flow on…
▽ More
Building upon the work of Mitsumatsu and Hozoori, we establish a complete homotopy correspondence between three-dimensional Anosov flows and certain pairs of contact forms that we call Anosov Liouville pairs. We show a similar correspondence between projectively Anosov flows and bi-contact structures, extending the work of Mitsumatsu and Eliashberg-Thurston. As a consequence, every Anosov flow on a closed oriented three-manifold $M$ gives rise to a Liouville structure on $\mathbb{R} \times M$ which is well-defined up to homotopy, and which only depends on the homotopy class of the Anosov flow. Our results also provide a new perspective on the classification problem of Anosov flows in dimension three.
△ Less
Submitted 31 October, 2023; v1 submitted 20 November, 2022;
originally announced November 2022.
-
Floer theory of Anosov flows in dimension three
Authors:
Kai Cieliebak,
Oleg Lazarev,
Thomas Massoni,
Agustin Moreno
Abstract:
A smooth Anosov flow on a closed oriented three manifold $M$ gives rise to a Liouville structure on the four manifold $[-1,1]\times M$ which is not Weinstein, by a construction of Mitsumatsu and Hozoori. We call it the associated Anosov Liouville domain. It is well defined up to homotopy and only depends on the homotopy class of the original Anosov flow; its symplectic invariants are then invarian…
▽ More
A smooth Anosov flow on a closed oriented three manifold $M$ gives rise to a Liouville structure on the four manifold $[-1,1]\times M$ which is not Weinstein, by a construction of Mitsumatsu and Hozoori. We call it the associated Anosov Liouville domain. It is well defined up to homotopy and only depends on the homotopy class of the original Anosov flow; its symplectic invariants are then invariants of the flow. We study the symplectic geometry of Anosov Liouville domains, via the wrapped Fukaya category, which we expect to be a powerful invariant of Anosov flows. The Lagrangian cylinders over the simple closed orbits span a natural $A_\infty$-subcategory, the orbit category of the flow. We show that it does not satisfy Abouzaid's generation criterion; it is moreover "very large", in the sense that is not split-generated by any strict sub-family. This is in contrast with the Weinstein case, where critical points of a Morse function play the role of the orbits. For the domain corresponding to the suspension of a linear Anosov diffeomorphism on the torus, we show that there are no closed exact Lagrangians which are either orientable, projective planes or Klein bottles. By contrast, in the case of the geodesic flow on a hyperbolic surface of genus $g \geq 2$ (corresponding to the McDuff example), we construct an exact Lagrangian torus for each embedded closed geodesic, thus obtaining at least $3g-3$ tori which are not Hamiltonian isotopic to each other. For these two prototypical cases of Anosov flows, we explicitly compute the symplectic cohomology of the associated domains, as well as the wrapped Floer cohomology of the Lagrangian cylinders, and several pair-of-pants products.
△ Less
Submitted 14 November, 2022;
originally announced November 2022.
-
An Empirical Study on Refactoring-Inducing Pull Requests
Authors:
Flávia Coelho,
Nikolaos Tsantalis,
Tiago Massoni,
Everton L. G. Alves
Abstract:
Background: Pull-based development has shaped the practice of Modern Code Review (MCR), in which reviewers can contribute code improvements, such as refactorings, through comments and commits in Pull Requests (PRs). Past MCR studies uniformly treat all PRs, regardless of whether they induce refactoring or not. We define a PR as refactoring-inducing, when refactoring edits are performed after the i…
▽ More
Background: Pull-based development has shaped the practice of Modern Code Review (MCR), in which reviewers can contribute code improvements, such as refactorings, through comments and commits in Pull Requests (PRs). Past MCR studies uniformly treat all PRs, regardless of whether they induce refactoring or not. We define a PR as refactoring-inducing, when refactoring edits are performed after the initial commit(s), as either a result of discussion among reviewers or spontaneous actions carried out by the PR developer. Aims: This mixed study (quantitative and qualitative) explores code reviewing-related aspects intending to characterize refactoring-inducing PRs. Method: We hypothesize that refactoring-inducing PRs have distinct characteristics than non-refactoring-inducing ones and thus deserve special attention and treatment from researchers, practitioners, and tool builders. To investigate our hypothesis, we mined a sample of 1,845 Apache's merged PRs from GitHub, mined refactoring edits in these PRs, and ran a comparative study between refactoring-inducing and non-refactoring-inducing PRs. We also manually examined 2,096 review comments and 1,891 detected refactorings from 228 refactoring-inducing PRs. Results: We found 30.2% of refactoring-inducing PRs in our sample and that they significantly differ from non-refactoring-inducing ones in terms of number of commits, code churn, number of file changes, number of review comments, length of discussion, and time to merge. However, we found no statistical evidence that the number of reviewers is related to refactoring-inducement. Our qualitative analysis revealed that at least one refactoring edit was induced by review in 133 (58.3%) of the refactoring-inducing PRs examined. Conclusions: Our findings suggest directions for researchers, practitioners, and tool builders to improve practices around pull-based code review.
△ Less
Submitted 24 August, 2021;
originally announced August 2021.
-
A Domain-Specific Language for Verifying Software Requirement Constraints
Authors:
Marzina Vidal,
Tiago Massoni,
Franklin Ramalho
Abstract:
Software requirement analysis can certainly benefit from prevention and early detection of failures, in particular by some kind of automatic analysis. Formal methods offer means to represent and analyze requirements with rigorous tools, avoiding ambiguities and allowing automatic verification of requirement consistency. However, formalisms often clash in the culture or lack of skills of software a…
▽ More
Software requirement analysis can certainly benefit from prevention and early detection of failures, in particular by some kind of automatic analysis. Formal methods offer means to represent and analyze requirements with rigorous tools, avoiding ambiguities and allowing automatic verification of requirement consistency. However, formalisms often clash in the culture or lack of skills of software analysts, making them challenging to apply. In this article, we propose a Domain-Specific Language (DSL) based on Set Theory for requirement analysts. The Graphical InvaRiant Language (GIRL) can be used to specify software requirement structural invariants, with entities and their relationships. Those invariants can then have their consistency evaluated by the Alloy Analyzer, based on a mapping semantics we provide for transforming GIRL models into Alloy specifications with no user intervention. With a prototypical language editor and transformations implemented into an Eclipse plugin, we carried out a qualitative study with requirement analysts working for a government software company in Brazil, to evaluate usability and effectiveness of the GIRL-based analysis of real software requirements. The participants were able to effectively use the underlying formal analysis, since 79 out of 80 assigned invariants were correctly modeled. While participants perceived as low the complexity of learning and using GIRL's simplest, set-based structures and relationships, the most complex logical structures, such as quantification and implication, were challenging. Furthermore, almost all post-study evaluations from the participants were positive, especially as a tool for discovering requirement inconsistencies.
△ Less
Submitted 6 November, 2019;
originally announced November 2019.
-
Relating Voluntary Turnover with Job Characteristics, Satisfaction and Work Exhaustion - An Initial Study with Brazilian Developers
Authors:
Tiago Massoni,
Nilton Ginani,
Wallison Silva,
Zeus Barros,
Georgia Moura
Abstract:
High rates of turnover among software developers remain, involving additional costs of hiring and training. Voluntary turnover may be due to workplace issues or personal career decisions, but it might as well relate to Job Characteristics, or even Job Satisfaction and Work Exhaustion. This paper reports on an initial study which quantitatively measured those constructs among 78 software developers…
▽ More
High rates of turnover among software developers remain, involving additional costs of hiring and training. Voluntary turnover may be due to workplace issues or personal career decisions, but it might as well relate to Job Characteristics, or even Job Satisfaction and Work Exhaustion. This paper reports on an initial study which quantitatively measured those constructs among 78 software developers working in Brazil who left their jobs voluntarily. For this, we adapted well-known survey instruments, namely the JDS from Hackman and Oldham's Job Characteristics Model, and Maslach et al.'s Burnout Measurement. In average, developers demonstrated low to moderate autonomy (3.75, on a 1-7 scale) and satisfaction (4.08), in addition to moderate exhaustion (4.2) before leaving their jobs, while experiencing high task significance (5.15). Also, testers reported significantly lower job satisfaction than programmers. These results allow us to raise interesting hypotheses to be addressed by future studies.
△ Less
Submitted 11 March, 2019; v1 submitted 31 January, 2019;
originally announced January 2019.
-
Object-oriented Programming Laws for Annotated Java Programs
Authors:
Gabriel Falconieri Freitas,
Márcio Cornélio,
Tiago Massoni,
Rohit Gheyi
Abstract:
Object-oriented programming laws have been proposed in the context of languages that are not combined with a behavioral interface specification language (BISL). The strong dependence between source-code and interface specifications may cause a number of difficulties when transforming programs. In this paper we introduce a set of programming laws for object-oriented languages like Java combined w…
▽ More
Object-oriented programming laws have been proposed in the context of languages that are not combined with a behavioral interface specification language (BISL). The strong dependence between source-code and interface specifications may cause a number of difficulties when transforming programs. In this paper we introduce a set of programming laws for object-oriented languages like Java combined with the Java Modeling Language (JML). The set of laws deals with object-oriented features taking into account their specifications. Some laws deal only with features of the specification language. These laws constitute a set of small transformations for the development of more elaborate ones like refactorings.
△ Less
Submitted 25 March, 2010;
originally announced March 2010.