191 research outputs found
Effective communication of software development knowledge through community portals
Knowledge management plays an important role in many software organizations. Knowledge can be captured and distributed using a variety of media, including traditional help files and manuals, videos, technical articles, wikis, and blogs. In recent years, web-based community portals have emerged as an important mechanism for combining various communication channels. However, there is little advice on how they can be effectively deployed in a software project. In this paper, we present a first study of a community portal used by a closed source software project. Using grounded theory, we develop a model that characterizes documentation artifacts along several dimensions, such as content type, intended audience, feedback options, and review mechanisms. Our findings lead to actionable advice for industry by articulating the benefits and possible shortcomings of the various communication channels in a knowledge-sharing portal. We conclude by suggesting future research on the increasing adoption of community portals in software engineering projects.Christoph Treude, Margaret-Anne Stor
Choosing an NLP library for analyzing software documentation: a systematic literature review and a series of experiments
To uncover interesting and actionable information from natural language documents authored by software developers, many researchers rely on "out-of-the-box" NLP libraries. However, software artifacts written in natural language are different from other textual documents due to the technical language used. In this paper, we first analyze the state of the art through a systematic literature review in which we find that only a small minority of papers justify their choice of an NLP library. We then report on a series of experiments in which we applied four state-of-the-art NLP libraries to publicly available software artifacts from three different sources. Our results show low agreement between different libraries (only between 60% and 71% of tokens were assigned the same part-of-speech tag by all four libraries) as well as differences in accuracy depending on source: For example, spaCy achieved the best accuracy on Stack Overflow data with nearly 90% of tokens tagged correctly, while it was clearly outperformed by Google's SyntaxNet when parsing GitHub ReadMe files. Our work implies that researchers should make an informed decision about the particular NLP library they choose and that customizations to libraries might be necessary to achieve good results when analyzing software artifacts written in natural language.Fouad Nasser A Al Omran, Christoph Treud
Mutation analysis for evaluating code translation
Source-to-source code translation automatically translates a program from one programming language to another. The existing research on code translation evaluates the effectiveness of their approaches by using either syntactic similarities (e.g., BLEU score), or test execution results. The former does not consider semantics, the latter considers semantics but falls short on the problem of insufficient data and tests. In this paper, we propose MBTA (Mutation-based Code Translation Analysis), a novel application of mutation analysis for code translation assessment. We also introduce MTS (Mutation-based Translation Score), a measure to compute the level of trustworthiness of a translator. If a mutant of an input program shows different test execution results from its translated version, the mutant is killed and a translation bug is revealed. Fewer killed mutants indicate better code translation. MBTA is novel in the sense that mutants are compared to their translated counterparts, and not to their original program’s translation. We conduct a proof-of-concept case study with 612 Java-Python program pairs and 75,082 mutants on the code translators TransCoder and j2py to evaluate the feasibility of MBTA. The results reveal that TransCoder and j2py fail to translate 70.44% and 70.64% of the mutants, respectively, i.e., more than two-thirds of all mutants are incorrectly translated by these translators. By analysing the MTS results more closely, we were able to reveal translation bugs not captured by the conventional comparison between the original and translated programs
The social side of software platform ecosystems
Software ecosystems as a paradigm for large-scale software development encompass a complex mix of technical, business, and social aspects. While significant research has been conducted to understand both the technical and business aspects, the social aspects of software ecosystems are less well understood. To close this gap, this paper presents the results of an empirical study aimed at understanding the influence of social aspects on developers' participation in software ecosystems. We conducted 25 interviews with mobile software developers and an online survey with 83 respondents from the mobile software development community. Our results point out a complex social system based on continued interaction and mutual support between different actors, including developers, friends, end users, developers from large companies, and online communities. These findings highlight the importance of social aspects in the sustainability of software ecosystems both during the initial adoption phase as well as for long-term permanence of developers.Cleidson R. B. de Souza, Fernando Figueira Filho, Müller Miranda, Renato Pina Ferreira, Christoph Treude, Leif Singe
Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators
The multitude of social media channels that programmers can use to participate in software development has given rise to online developer profiles that aggregate activity across many services. Studying members of such developer profile aggregators, we found an ecosystem that revolves around the social programmer. Developers are assessing each other to evaluate whether other developers are interesting, worth following, or worth collaborating with. They are self-conscious about being assessed, and thus manage their public images. They value passion for software development, new technologies, and learning. Some recruiters participate in the ecosystem and use it to find candidates for hiring; other recruiters struggle with the interpretation of signals and issues of trust. This mutual assessment is changing how software engineers collaborate and how they advance their skills.Leif Singer, Fernando Figueira Filho, Brendan Cleary, Christoph Treude, Margaret-Anne Storey, Kurt Schneide
Gender Influence on Communication Initiated within Student Teams
Collaboration is important during software development, but related work has found gender differences can influence the collaboration process, creating inequality in the team’s dynamics. In this paper, we present a gender analysis study that involved 39 students, examining their teams’ online collaborations while contributing to a large open-source software project. Eight teams of 4-6 Software Engineering (SE) students communicated over an online messaging platform, Slack, to complete an eight-week project. The goal of this study is to identify gender differences emerging from team collaboration. A mixed-methods approach was used to collect students’ teamwork experiences and analyse their collaboration. Our research shows statistically significant results in female students’ leadership, coordination, and project-monitoring behaviours used to complete the project. The results also showed a higher rate of help seeking within the all-female team, an infrequent behaviour observed in the all-male and mixed-gender teams. Our findings raise future research opportunities to further investigate the gender differences emerging from team collaboration.Rita Garcia, Chieh-Ju Liao, Ariane Pearce, Christoph Treud
A study on the geographical distribution of Brazil’s prestigious software developers
Brazil is an emerging economy with many IT initiatives from public and private sectors. To evaluate the progress of such initiatives, we study the geographical distribution of software developers in Brazil, in particular which of the Brazilian states succeed the most in attracting and nurturing them. We compare the prestige of developers with socio-economic data and find that (i) prestigious developers tend to be located in the most economically developed regions of Brazil, (ii) they are likely to follow others in the same state they are located in, (iii) they are likely to follow other prestigious developers, and (iv) they tend to follow more people. We discuss the implications of those findings for the development of the Brazilian software industry.Fernando Figueira Filho, Marcelo Gattermann Perin, Christoph Treude, Sabrina Marczak, Leandro Melo, Igor Marques da Silva and Lucas Bibiano dos Santo
Fluid dynamics and slope stability offshore W-Spitsbergen: Effect of bottom water warming on gas hydrates and slope stability - Cruise No. MSM21/4 - August 12 - September 11, 2012 - Reykjavik (Iceland) - Emden (Germany)
The main goal of MSM21/4 was the study of gas hydrate system off Svalbard. We addressed
this through a comprehensive scientific programme comprising dives with the manned
submersible JAGO, seismic and heat flow measurements, sediment coring, water column
biogeochemistry and bathymetric mapping. At the interception of the Knipovich Ridge and
the continental margin of Svalbard we collected seismic data and four heat flow
measurements. These measurements revealed that the extent of hydrates is significantly larger
than previously thought and that the gas hydrate system is influenced by heat from the oceanic
spreading centre, which may promote thermogenic methane production and thus explain the
large extent of hydrates. At the landward termination of the hydrate stability zone we
investigated the mechanisms that lead to degassing by taking sediment cores, sampling of
carbonates during dives, and measuring the methane turn-over rates in the water column. It
turned out that the observed gas seepage must have been ongoing for a long time and that
decadal scale warming is an unlikely explanation for the observed seeps. Instead seasonal
variations in water temperatures seem to control episodic hydrate formation and dissociation
explaining the location of the observed seeps. The water column above the gas flares is rich in
methane and methanotrophic microorganisms turning over most of the methane that escapes
from the sea floor. We also surveyed large, until then uncharted parts of the margin in the
northern part of the gas hydrate province. Here, we discovered an almost 40 km wide
submarine landslide complex. This slide is unusual in the sense that it is not located at the
mouth of a cross shelf trough such as other submarine landslides on the glaciated continental
margins around the North Atlantic. Thus, the most widely accepted explanation for the origin
of such slides, i.e. overpressure development due to deposition of glacial sediments on top of
water rich contourites, is not applicable. Instead we find gas-hydrate-related bottom
simulating reflectors underneath the headwalls of this slide complex, possibly indicating that
subsurface fluid migration plays a major role in its genesis
Giving Back: Contributions Congruent to Library Dependency Changes in a Software Ecosystem
The widespread adoption of third-party libraries for contemporary software development has led to the creation of large inter-dependency networks, where sustainability issues of a single library can have widespread network effects. Maintainers of these libraries are often overworked, relying on the contributions of volunteers to sustain these libraries. To understand these contributions, in this work, we leverage socio-technical techniques to introduce and formalise dependency-contribution congruence (DC congruence) at both ecosystem and library level, i.e., to understand the degree and origins of contributions congruent to dependency changes, analyze whether they contribute to library dormancy (i.e., a lack of activity), and investigate similarities between these congruent contributions compared to typical contributions. We conduct a large-scale empirical study to measure the DC congruence for the npm ecosystem using 1.7 million issues, 970 thousand pull requests (PRs), and over 5.3 million commits belonging to 107,242 npm libraries. We find that the most congruent contributions originate from contributors who can only submit (not commit) to both a client and a library. At the project level, we find that DC congruence shares an inverse relationship with the likelihood that a library becomes dormant. Specifically, a library is less likely to become dormant if the contributions are congruent with upgrading dependencies. Finally, by comparing the source code of contributions, we find statistical differences in the file path and added lines in the source code of congruent contributions when compared to typical contributions. Our work has implications to encourage dependency contributions, especially to support library maintainers in sustaining their projects.Supatsara Wattanakriengkrai, Dong Wang, Raula Gaikovina Kula, Christoph Treude, Patanamon Thongtanunam, Takashi Ishio, and Kenichi Matsumot
Ecological succession of a Jurassic shallow-water ichthyosaur fall.
After the discovery of whale fall communities in modern oceans, it has been hypothesized that during the Mesozoic the carcasses of marine reptiles created similar habitats supporting long-lived and specialized animal communities. Here, we report a fully documented ichthyosaur fall community, from a Late Jurassic shelf setting, and reconstruct the ecological succession of its micro- and macrofauna. The early 'mobile-scavenger' and 'enrichment-opportunist' stages were not succeeded by a 'sulphophilic stage' characterized by chemosynthetic molluscs, but instead the bones were colonized by microbial mats that attracted echinoids and other mat-grazing invertebrates. Abundant cemented suspension feeders indicate a well-developed 'reef stage' with prolonged exposure and colonization of the bones prior to final burial, unlike in modern whale falls where organisms such as the ubiquitous bone-eating worm Osedax rapidly destroy the skeleton. Shallow-water ichthyosaur falls thus fulfilled similar ecological roles to shallow whale falls, and did not support specialized chemosynthetic communities
- …