7 research outputs found

    Healthy or Not: A Way to Predict Ecosystem Health in GitHub

    Get PDF
    With the development of open source community, through the interaction of developers, the collaborative development of software, and the sharing of software tools, the formation of open source software ecosystem has matured. Natural ecosystems provide ecological services on which human beings depend. Maintaining a healthy natural ecosystem is a necessity for the sustainable development of mankind. Similarly, maintaining a healthy ecosystem of open source software is also a prerequisite for the sustainable development of open source communities, such as GitHub. This paper takes GitHub as an example to analyze the health condition of open source ecosystem and, also, it is a research area in Symmetry. Firstly, the paper presents the healthy definition of GitHub open source ecosystem health and, then, according to the main components of natural ecosystem health, the paper proposes the health indicators and health indicators evaluation method. Based on the above, the GitHub ecosystem health prediction method is proposed. By analyzing the projects and data collected in GitHub, it is found that, using the proposed evaluation indicators and method, we can analyze the healthy development trend of the GitHub ecosystem and contribute to the stability of ecosystem development

    Making Sense Of Software Ecosystems: A Critical Review

    Get PDF
    Visualizing software as ecosystems has been an emergent phenomenon. The objective of this paper is to analyze the field of software ecosystems (SECO) and provide a critical review of the existing literature. This research identifies domains and peripheries of a SECO; highlights architectural challenges; examines design and control mechanisms and discusses some of the learning’s from other popular paradigms that can be applied to address the key challenges in the SECO paradigm. This paper also aims to recommend future research directions for software ecosystems and its role in the broader context of information systems research

    A Systematic Mapping Study on Requirements Engineering in Software Ecosystems

    Full text link
    Software ecosystems (SECOs) and open innovation processes have been claimed as a way forward for the software industry. A proper understanding of requirements is as important for these IT-systems as for more traditional ones. This paper presents a mapping study on the issues of requirements engineering and quality aspects in SECOs and analyzes emerging ideas. Our findings indicate that among the various phases or subtasks of requirements engineering, most of the SECO specific research has been accomplished on elicitation, analysis, and modeling. On the other hand, requirements selection, prioritization, verification, and traceability has attracted few published studies. Among the various quality attributes, most of the SECOs research has been performed on security, performance and testability. On the other hand, reliability, safety, maintainability, transparency, usability attracted few published studies. The paper provides a review of the academic literature about SECO-related requirements engineering activities, modeling approaches, and quality attributes, positions the source publications in a taxonomy of issues and identifies gaps where there has been little research.Comment: Journal of Information Technology Research (JITR) 11(1

    Governança de ativos em ecossistemas de software na biblioteca Brechó

    Get PDF
    Entre as várias formas de desenvolver software, geralmente utiliza-se a metodologia de dividir um problema grande em partes menores, denominadas módulos, facilitando o seu entendimento e diminuindo a complexidade inicial. Cada módulo pode ser chamado de componente ou serviço, tendo por característica básica o caráter autocontido. Muitos dos sistemas, entretanto, possuem o mesmo domínio de conhecimento, formando um nicho de mercado ou ecossistema de software, os quais organizam soluções para um problema conhecido através do incentivo à prática de reutilizar componentes e serviços desenvolvidos, além de fornecer uma tecnologia de software central que permita o desenvolvimento e reutilização de aplicações. Para que seja possível reutilizar esses produtos, é necessário que eles estejam armazenados em algum lugar e que as suas informações básicas de utilização e funcionalidade estejam disponíveis. Com a criação dos ecossistemas, as organizações fornecedoras neles inseridas disputam o mercado entre si, o que requer maior controle sobre seus produtos. Da mesma forma, faz-se necessário que as organizações consumidoras de tais produtos tenham um controle sobre quais produtos estão utilizando e suas respectivas permissões de uso. Este trabalho tem por objetivo adaptar uma biblioteca de componentes e serviços de software para que esta possa funcionar como uma ferramenta de governança baseada na gerência de produtos adquiridos na forma de componentes, serviços e aplicações por uma organização, produtos estes chamados de ativos de software. Com esta adaptação, vislumbra-se que a biblioteca seja capaz de informar os ativos e seus fornecedores, a sua frequência de uso interno à organização, bem como a quantidade de permissões de uso (i.e., licenças) que a organização possui sobre cada ativo

    Recomendação de desenvolvedores externos para projetos de software baseada na análise de contribuições prévias

    Get PDF
    The software development industry has evolved in the recent years and new challenges have emerged. Among these changes came Software Ecosystems, a new development paradigm, where external contributors support software production by providing solutions that complement a common platform for these developers. Due to the large number of technologies, frameworks and domains that an ecosystem can host, an equally large number of contributors acquainted with varied topics of their knowledge and skills have also emerged. However, recruiting collaborators with desired characteristics becomes a complex task due to the varying degrees of knowledge and skill that each developer has in their various competencies. Given this, we present a architecture of a recommendation system (RS) supported by an ontology capable of recommending collaborators who have shown expertise in the topics of interest. In order to do so, the RS uses retrieval expertise techniques to score the developers´ level of knowledge about topics represented in a query. The architecture is then able to provide the contextual information of the recommendation, i.e., a visualization of where one can find the knowledge topics that led to the recommendation of each contributor. Proof of Concepts were conducted on two software ecosystems to demonstrate feasibility of the architecture, which have shown evidence that the architecture is able to perform recommendations and still offers context information, important to the decision-making process over the recommendations made.A indústria de desenvolvimento de software evoluiu nos últimos anos e novos desafios surgiram. Dentre estas mudanças surgiram os ecossistemas de software, um novo paradigma de desenvolvimento, onde colaboradores externos apoiam a produção de software ao disponibilizar soluções que complementam uma plataforma comum a estes desenvolvedores. Devido à grande diversidade de tecnologias, frameworks e domínios que um ecossistema pode abrigar, a todo momento surgem colaboradores com variados tópicos de conhecimento e habilidades. Entretanto, recrutar colaboradores com as características desejadas se torna um trabalho complexo devido aos diferentes graus de conhecimento e habilidades que cada colaborador tem em suas diversas competências. Diante disso, apresenta-se uma arquitetura de um sistema de recomendação (SR) apoiado por uma ontologia capaz de recomendar colaboradores que tenham mostrado expertise nos tópicos de interesse. Para tanto, o SR utiliza técnicas da área de expertise retrieval para pontuar o grau de aderência dos colaboradores sobre os tópicos de conhecimento representados em uma query. A arquitetura é então capaz de fornecer as informações de contexto da recomendação, ou seja, uma visualização sobre onde pode-se encontrar os tópicos de conhecimento que levaram à recomendação de cada colaborador. Provas de conceito foram realizadas sobre dois ecossistemas de software para verificar a viabilidade da arquitetura, as quais mostraram indícios de que a arquitetura é capaz de realizar recomendações, e ainda oferece informações de contexto que são importantes à tomada de decisão sobre as recomendações realizadas.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superio
    corecore