41,967 research outputs found
Myths and Realities about Online Forums in Open Source Software Development: An Empirical Study
The use of free and open source software (OSS) is gaining momentum due to the
ever increasing availability and use of the Internet. Organizations are also
now adopting open source software, despite some reservations, in particular
regarding the provision and availability of support. Some of the biggest
concerns about free and open source software are post release software defects
and their rectification, management of dynamic requirements and support to the
users. A common belief is that there is no appropriate support available for
this class of software. A contradictory argument is that due to the active
involvement of Internet users in online forums, there is in fact a large
resource available that communicates and manages the provision of support. The
research model of this empirical investigation examines the evidence available
to assess whether this commonly held belief is based on facts given the current
developments in OSS or simply a myth, which has developed around OSS
development. We analyzed a dataset consisting of 1880 open source software
projects covering a broad range of categories in this investigation. The
results show that online forums play a significant role in managing software
defects, implementation of new requirements and providing support to the users
in open source software and have become a major source of assistance in
maintenance of the open source projects
Ethical Issues in Empirical Studies of Software Engineering
The popularity of empirical methods in software engineering research is on the rise. Surveys,
experiments, metrics, case studies, and field studies are examples of empirical methods used to
investigate both software engineering processes and products. The increased application of
empirical methods has also brought about an increase in discussions about adapting these
methods to the peculiarities of software engineering. In contrast, the ethical issues raised by
empirical methods have received little, if any, attention in the software engineering literature. This
article is intended to introduce the ethical issues raised by empirical research to the software
engineering research community, and to stimulate discussion of how best to deal with these ethical
issues. Through a review of the ethical codes of several fields that commonly employ humans and
artifacts as research subjects, we have identified major ethical issues relevant to empirical studies
of software engineering. These issues are illustrated with real empirical studies of software
engineering
Fluid Tasks and Fluid Teams: The Impact of Diversity in Experience and Team Familiarity on Team Performance
In this paper, we consider how the structures of tasks and teams interact to affect team performance. We study the effects of diversity in experience on a team's ability to respond to task changes, by separately examining interpersonal team diversity (i.e., differences in experience across the entire team) and intrapersonal team diversity (i.e., whether individuals on the team are more or less specialized). We also examine whether team familiarity - team members' prior experience working with one another - helps teams to better manage challenges created by task changes and greater interpersonal team diversity. Using detailed project- and individual-level data from an Indian software services firm, we find that the interaction of task-change with intrapersonal diversity is related to improved project performance, while the interaction of task-change with interpersonal diversity is related to diminished performance. Additionally, the interaction of team familiarity with interpersonal diversity is related to improved project performance in some cases. Our results highlight a need for more nuanced approaches to leveraging experience in team management.Diversity, Knowledge Work, Project Flexibility, Task Change, Team Familiarity
Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle
Many practitioners and academics believe in a delayed issue effect (DIE);
i.e. the longer an issue lingers in the system, the more effort it requires to
resolve. This belief is often used to justify major investments in new
development processes that promise to retire more issues sooner.
This paper tests for the delayed issue effect in 171 software projects
conducted around the world in the period from 2006--2014. To the best of our
knowledge, this is the largest study yet published on this effect. We found no
evidence for the delayed issue effect; i.e. the effort to resolve issues in a
later phase was not consistently or substantially greater than when issues were
resolved soon after their introduction.
This paper documents the above study and explores reasons for this mismatch
between this common rule of thumb and empirical data. In summary, DIE is not
some constant across all projects. Rather, DIE might be an historical relic
that occurs intermittently only in certain kinds of projects. This is a
significant result since it predicts that new development processes that
promise to faster retire more issues will not have a guaranteed return on
investment (depending on the context where applied), and that a long-held truth
in software engineering should not be considered a global truism.Comment: 31 pages. Accepted with minor revisions to Journal of Empirical
Software Engineering. Keywords: software economics, phase delay, cost to fi
Glossary of Software Engineering Laboratory terms
A glossary of terms used in the Software Engineering Laboratory (SEL) is given. The terms are defined within the context of the software development environment for flight dynamics at the Goddard Space Flight Center. A concise reference for clarifying the language employed in SEL documents and data collection forms is given. Basic software engineering concepts are explained and standard definitions for use by SEL personnel are established
Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development
Mobile devices and platforms have become an established target for modern
software developers due to performant hardware and a large and growing user
base numbering in the billions. Despite their popularity, the software
development process for mobile apps comes with a set of unique, domain-specific
challenges rooted in program comprehension. Many of these challenges stem from
developer difficulties in reasoning about different representations of a
program, a phenomenon we define as a "language dichotomy". In this paper, we
reflect upon the various language dichotomies that contribute to open problems
in program comprehension and development for mobile apps. Furthermore, to help
guide the research community towards effective solutions for these problems, we
provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference
on Program Comprehension (ICPC'18
- …