3 research outputs found

    Towards solving social and technical problems in open source software ecosystems : using cause-and-effect analysis to disentangle the causes of complex problems

    Get PDF
    Managing large-scale development projects in open source software ecosystems involves dealing with an array of technical and social problems. To disentangle the causes of such problems, we interviewed experts and performed a cause-and-effect analysis. Our findings demonstrate that loss of contributors is the most important social problem, while poor code quality is the most important technical problem, and that both problems result from complex socio-technical interrelations of causes. Our approach suggests that cause-and-effect analysis can help to better understand problems in open source software ecosystems

    Problèmes de santé des écosystèmes logiciels ouverts : une étude exploratoire auprès d'experts de la pratique

    Get PDF
    Aujourd’hui, les logiciels libres ou open source sont de plus en plus utilisés et peuvent servir dans certains cas de base de développement de logiciels « non libres » ou propriétaires. Le noyau Linux est utilisé par exemple pour aider dans le développement de plusieurs plateformes et logiciels comme Windows et iOS. Le succès des logiciels open source émane du fait que, contrairement aux logiciels propriétaires, les logiciels open source sont développés dans des projets qui s’appuient sur des communautés. Les projets et leurs communautés sont compris dans des environnements plus larges appelés écosystème logiciel ouvert (ECLOO). Toutefois, ces ECLOOs font face à de nombreuses difficultés pouvant nuire à leur santé ou leur bonne marche. Le projet SECOHealth a été initié dans le but de comprendre la santé des écosystèmes logiciels afin de proposer des catalogues de lignes directrices et des outils de recommandation pour pouvoir mesurer et contrôler cette santé. La recherche décrite dans ce document est une partie du projet SECOHealth. Cette recherche a pour objectif de mieux appréhender la santé des ECLOOs pour pouvoir mesurer et contrôler cette santé. Pour ce faire, nous répondrons aux trois questions de recherche suivantes : 1. Quels sont les principaux problèmes auxquels font face les ECLOOs? 2. Quelles sont les principales causes de ces problèmes? 3. Quels sont les principaux impacts de ces problèmes? Pour répondre à ces questions, nous avons mené des entrevues individuelles auprès de dix experts évoluant dans les ECLOOs. L’analyse des données recueillies nous a permis de construire les diagrammes d’analyse causale sur la base de chaque entrevue, ainsi que les chaînes causales des principaux problèmes observés. Les résultats montrent que les principaux problèmes de santé observés, leurs causes et impacts relèvent aussi bien du domaine technique que de domaines non-techniques tel la gestion.Nowadays, open source software are increasingly used and can become in some cases the basis to develop commercial or proprietary software. For example, the Linux kernel is used in developing several platforms and software like Windows and iOS. The success of open source software stems from the fact that, unlike proprietary software, open source software are developed in projects that rely on communities. Projects and their communities are included in broader environments called open source software ecosystems (OSSECOs). However, these OSSECOs face many difficulties that can affect their health or their proper functioning. The SECOHealth project was initiated with the aim of understanding the health of software ecosystems in order to propose catalogs of guidelines and recommendation tools for measuring and controlling this health. The research described in this document is part of the SECOHealth project. This research aims to better understand the health of open software ecosystems in order to be able to measure and control it. To do this, we will answer the following three research questions: 1. What are the main problems facing OSSECOs? 2. What are the main causes of these problems? 3. What are the main impacts of these problems? To answer these questions, we conducted one-on-one interviews with ten experts in OSSECOs. Analysis of the data collected allowed us to construct the causal analysis diagrams and the causal chains of the main problems observed. The results show that the main health problems, their causes and their impacts fall within the technical domain as well as non-technical domains such as the management

    Multi-objective Search-based Mobile Testing

    Get PDF
    Despite the tremendous popularity of mobile applications, mobile testing still relies heavily on manual testing. This thesis presents mobile test automation approaches based on multi-objective search. We introduce three approaches: Sapienz (for native Android app testing), Octopuz (for hybrid/web JavaScript app testing) and Polariz (for using crowdsourcing to support search-based mobile testing). These three approaches represent the primary scientific and technical contributions of the thesis. Since crowdsourcing is, itself, an emerging research area, and less well understood than search-based software engineering, the thesis also provides the first comprehensive survey on the use of crowdsourcing in software testing (in particular) and in software engineering (more generally). This survey represents a secondary contribution. Sapienz is an approach to Android testing that uses multi-objective search-based testing to automatically explore and optimise test sequences, minimising their length, while simultaneously maximising their coverage and fault revelation. The results of empirical studies demonstrate that Sapienz significantly outperforms both the state-of-the-art technique Dynodroid and the widely-used tool, Android Monkey, on all three objectives. When applied to the top 1,000 Google Play apps, Sapienz found 558 unique, previously unknown crashes. Octopuz reuses the Sapienz multi-objective search approach for automated JavaScript testing, aiming to investigate whether it replicates the Sapienz’ success on JavaScript testing. Experimental results on 10 real-world JavaScript apps provide evidence that Octopuz significantly outperforms the state of the art (and current state of practice) in automated JavaScript testing. Polariz is an approach that combines human (crowd) intelligence with machine (computational search) intelligence for mobile testing. It uses a platform that enables crowdsourced mobile testing from any source of app, via any terminal client, and by any crowd of workers. It generates replicable test scripts based on manual test traces produced by the crowd workforce, and automatically extracts from these test traces, motif events that can be used to improve search-based mobile testing approaches such as Sapienz
    corecore