385,595 research outputs found
Empirical Evidence of Large-Scale Diversity in API Usage of Object-Oriented Software
In this paper, we study how object-oriented classes are used across thousands
of software packages. We concentrate on "usage diversity'", defined as the
different statically observable combinations of methods called on the same
object. We present empirical evidence that there is a significant usage
diversity for many classes. For instance, we observe in our dataset that Java's
String is used in 2460 manners. We discuss the reasons of this observed
diversity and the consequences on software engineering knowledge and research
Culture dimensions in software development industry: The effects of mentoring
Software development is a human centric and sociotechnical activity and like all human activities is influenced by cultural factors. However, software engineering is being further affected because of the globalization in software development. As a result, cultural diversity is influencing software development and its outcomes. The software engineering industry, a very intensive industry regarding human capital, is facing a new era in which software development personnel must adapt to multicultural work environments. Today, many organizations present a multicultural workforce which needs to be managed. This paper analyzes the influence of culture on mentoring relationships within the software engineering industry. Two interesting findings can be concluded from our study: (1) cultural differences affect both formal and informal mentoring, and (2) technical competences are not improved when implementing mentoring relationships
Software Reuse across Robotic Platforms: Limiting the effects of diversity
Robots have diverse capabilities and complex interactions with their environment. Software development for robotic platforms is time consuming due to the complex nature of the tasks to be performed. Such an environment demands sound software engineering practices to produce high quality software. However software engineering in the robotics domain fails to facilitate any significant level of software reuse or portability. This paper identifies the major issues limiting software reuse in the robotics domain. Lack of standardisation, diversity of robotic platforms, and the subtle effects of environmental interaction all contribute to this problem. It is then shown that software components, fuzzy logic, and related techniques can be used together to address this problem. While complete software reuse is not possible, it is demonstrated that significant levels of software reuse can be obtained. Without an acceptable level of reuse or portability, software engineering in the robotics domain will not be able to meet the demands of a rapidly developing field. The work presented in this paper demonstrates a method for supporting software reuse across robotic platforms and hence facilitating improved software engineering practices
Diversity in Software Engineering Conferences and Journals
Diversity with respect to ethnicity and gender has been studied in
open-source and industrial settings for software development. Publication
avenues such as academic conferences and journals contribute to the growing
technology industry. However, there have been very few diversity-related
studies conducted in the context of academia. In this paper, we study the
ethnic, gender, and geographical diversity of the authors published in Software
Engineering conferences and journals. We provide a systematic quantitative
analysis of the diversity of publications and organizing and program committees
of three top conferences and two top journals in Software Engineering, which
indicates the existence of bias and entry barriers towards authors and
committee members belonging to certain ethnicities, gender, and/or geographical
locations in Software Engineering conferences and journal publications. For our
study, we analyse publication (accepted authors) and committee data (Program
and Organizing committee/ Journal Editorial Board) from the conferences ICSE,
FSE, and ASE and the journals IEEE TSE and ACM TOSEM from 2010 to 2022. The
analysis of the data shows that across participants and committee members,
there are some communities that are consistently significantly lower in
representation, for example, publications from countries in Africa, South
America, and Oceania. However, a correlation study between the diversity of the
committees and the participants did not yield any conclusive evidence.
Furthermore, there is no conclusive evidence that papers with White authors or
male authors were more likely to be cited. Finally, we see an improvement in
the ethnic diversity of the authors over the years 2010-2022 but not in gender
or geographical diversity.Comment: 13 pages, 10 figures, 4 table
Software Diversity: Challenges to handle the imposed, Opportunities to harness the chosen
National audienceDiversity emerges as a critical concern that spans all activities in software engineering (from design to verification, from deployment to runtime resilience) and appears in all sorts of domains, which rely on software intensive systems, from systems of systems to pervasive combinations of Internet of Things and Internet of Services. If these domains are apparently radically different, we envision a strong convergence of the scientific principles underpinning their construction and validation towards flexible and open yet dependable systems. In this paper, we discuss the software engineering challenges raised by these requirements for flexibility and openness, focusing on four dimensions of diversity: the diversity of functionalities required by the different customers; the diversity of languages used by the stakeholders involved in the construction of these systems; the diversity of runtime environments in which software has to run and adapt; the diversity of failures against which the system must be able to react. In particular, we want to emphasize the challenges for handling imposed diversity, as well as the opportunities to leverage chosen diversity. The main challenge is that software diversity imposes to integrate the fact that software must adapt to changes in the requirements and environment -- in all development phases and in unpredictable ways. Yet, exploiting and increasing software diversity is a great opportunity to allow the spontaneous exploration of alternative software solutions and proactively prepare for unforeseen changes. Concretely, we want to provide software engineers with the ability: to characterize an 'envelope' of possible variations; to compose 'envelopes' (to discover new macro envelopes in an opportunistic manner); to dynamically synthesize software inside a given envelop
Automatic Software Repair: a Bibliography
This article presents a survey on automatic software repair. Automatic
software repair consists of automatically finding a solution to software bugs
without human intervention. This article considers all kinds of repairs. First,
it discusses behavioral repair where test suites, contracts, models, and
crashing inputs are taken as oracle. Second, it discusses state repair, also
known as runtime repair or runtime recovery, with techniques such as checkpoint
and restart, reconfiguration, and invariant restoration. The uniqueness of this
article is that it spans the research communities that contribute to this body
of knowledge: software engineering, dependability, operating systems,
programming languages, and security. It provides a novel and structured
overview of the diversity of bug oracles and repair operators used in the
literature
âIt Takes All Kindsâ: A Simulation Modeling Perspective on Motivation and Coordination in Libre Software Development Projects
This paper presents a stochastic simulation model to study implications of the mechanisms by which individual software developersâ efforts are allocated within large and complex open source software projects. It illuminates the role of different forms of âmotivations-at-the-marginâ in the micro-level resource allocation process of distributed and decentralized multi-agent engineering undertakings of this kind. We parameterize the model by isolating the parameter ranges in which it generates structures of code that share certain empirical regularities found to characterize actual projects. We find that, in this range, a variety of different motivations are represented within the community of developers. There is a correspondence between the indicated mixture of motivations and the distribution of avowed motivations for engaging in FLOSS development, found in the survey responses of developers who were participants in large projects.free and open source software (FLOSS), libre software engineering, maintainability, reliability, functional diversity, modularity, developersâ motivations, user-innovation, peer-esteem, reputational reward systems, agent-based modeling, stochastic simulation, stigmergy, morphogenesis.
- âŠ