2,560 research outputs found

    Design Architecture, Developer Networks and Performance of Open Source Software Projects

    Get PDF
    In this study we seek to understand the factors differentiating successful from unsuccessful software projects. This article develops and tests a model measuring the impact on software project performance of (1) software products ’ design architectures and (2) developers ’ positions within collaborative networks. Two indicators of project success are used: product quality and project velocity. Two dimensions of design architecture – degree of decomposition and coupling – and one characteristic of developer network structures – degree centrality – are investigated for their impact on project performance. Using data gathered from SourceForge.net and its monthly dumps, we empirically test hypotheses on the top 100 projects according to project rankings. These rankings are generated from the traffic, communication, and development statistics collected for each project hosted on SourceForge.net. Besides the top 100 projects, we also randomly choose another 100 projects to form the data sample. The main findings are that (1) the degree of decomposition has an inverted U-shaped relationship with project performance, (2) when tested on the sample of top 100 projects, average degree centrality of a project team has a positive and significant effect on project performance and (3) the effects of network metrics o

    Flexible Decision Control in an Autonomous Trading Agent

    Get PDF
    An autonomous trading agent is a complex piece of software that must operate in a competitive economic environment and support a research agenda. We describe the structure of decision processes in the MinneTAC trading agent, focusing on the use of evaluators – configurable, composable modules for data analysis and prediction that are chained together at runtime to support agent decision-making. Through a set of examples, we show how this structure supports sales and procurement decisions, and how those decision processes can be modified in useful ways by changing evaluator configurations. To put this work in context, we also report on results of an informal survey of agent design approaches among the competitors in the Trading Agent Competition for Supply Chain Management (TAC SCM).autonomous trading agent;decision processes

    Microservice Transition and its Granularity Problem: A Systematic Mapping Study

    Get PDF
    Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. The transition to microservices has been highly motivated by the need for better alignment of technical design decisions with improving value potentials of architectures. Despite microservices' popularity, research still lacks disciplined understanding of transition and consensus on the principles and activities underlying "micro-ing" architectures. In this paper, we report on a systematic mapping study that consolidates various views, approaches and activities that commonly assist in the transition to microservices. The study aims to provide a better understanding of the transition; it also contributes a working definition of the transition and technical activities underlying it. We term the transition and technical activities leading to microservice architectures as microservitization. We then shed light on a fundamental problem of microservitization: microservice granularity and reasoning about its adaptation as first-class entities. This study reviews state-of-the-art and -practice related to reasoning about microservice granularity; it reviews modelling approaches, aspects considered, guidelines and processes used to reason about microservice granularity. This study identifies opportunities for future research and development related to reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table

    MiniCERNBot Educational Platform: Antimatter Factory Mock-up Missions for Problem-Solving STEM Learning

    Get PDF
    Mechatronics and robotics appeared particularly effective in students’ education, allowing them to create non-traditional solutions in STEM disciplines, which have a direct impact and interaction with the world surrounding them. This paper presents the current state of the MiniCERNBot Educational Robotic platform for high-school and university students. The robot provides a comprehensive educative system with tutorials and tasks tuned for different ages on 3D design, mechanical assembly, control, programming, planning, and operation. The system is inspired to existing robotic systems and typical robotic interventions performed at CERN, and includes an education mock-up that follows the example of a previous real operation performed in CERN’s Antimatter Factory. The paper describes the learning paths where the MiniCERNBot platform can be used by students, at different ages and disciplines. In addition, it describes the software and hardware architecture, presenting results on modularity and network performance during education exercises. In summary, the objective of the study is improving the way STEM educational and dissemination activities at CERN Robotics Lab are performed, as well as their possible synergies with other education institutions, such as High-Schools and Universities, improving the learning collaborative process and inspiring students interested in technical studies. To this end, a new educational robotic platform has been designed, inspired on real scientific operations, which allows the students practice multidisciplinary STEM skills in a collaborative problem-solving way, while increasing their motivation and comprehension of the research activities

    Achieving Quality through Software Maintenance and Evolution: on the role of Agile Methodologies and Open Source Software

    Get PDF
    Agile methodologies, open source software development, and emerging new technologies are at the base of disruptive changes in software engineering. Being effort estimation pivotal for effective project management in the agile context, in the first part of the thesis we contribute to improve effort estimation by devising a real-time story point classifier, designed with the collaboration of an industrial partner and by exploiting publicly available data on open source projects. We demonstrate that, after an initial training on at least 300 issue reports, the classifier estimates a new issue in less than 15 seconds with a mean magnitude of relative error between 0.16 and 0.61. In addition, issue type, summary, description, and related components prove to be project-dependent features pivotal for story point estimation. Since story points are the most popular effort estimation metric in the agile context, in the second study presented in the thesis we investigate the role of agile methodologies in software maintenance and evolution, and prove its undoubted influence on the refactoring research field over the last 15 years. In the later part of the thesis, we focus on recent technologies to understand their impact on software engineering. We start by proposing a specialized blockchain-oriented software engineering, on the basis of the peculiar challenges the blockchain sector must confront with and statistical data retrieved from a corpus of open source blockchain-oriented software repositories, identified relying upon the 2016 Moody’s Blockchain Report. We advocate the need for new professional roles, enhanced security and reliability, novel modeling languages, and specialized metrics, along with new research directions focusing on collaboration among large teams, testing, and specialized tools for the creation of smart contracts. Along with the blockchain, in the later part of this work we also study the growing mobile sector. More specifically, we focus on the relationships between software defects and the use of the underlying system API, proving that our findings are aligned with those in the literature, namely, that the applications which are more connected to API classes are also more defect-prone. Finally, in the last work presented in the dissertation, we conducted a statistical analysis of 20 open source object-oriented systems, 10 written in the highly popular language Java and 10 in the rising language Python. We leveraged two statistical distribution functions–the log-normal and the double Pareto distributions–to provide good fits, both in Java and Python, for three metrics, namely, the NOLM, NOM, and NOS metrics. The study, among other findings, revealed that the variability of the number of methods used in Python classes is lower than in Java classes, and that Java classes, on average, feature fewer lines of code than Python classes

    Open Source Software: From Open Science to New Marketing Models

    Get PDF
    -Open source Software; Intellectual Property; Licensing; Business Model.
    corecore