25 research outputs found

    On Analyzing the Topology of Commit Histories in Decentralized Version Control Systems

    Get PDF
    update for BASE on Sep 08 2018 22:43:36International audienceEmpirical analysis of software repositories usually deals with linear histories derived from centralized versioning systems. Decentralized version control systems allow a much richer structure of commit histories, which presents features that are typical of complex graph models. In this paper we bring some evidences of how the very structure of these commit histories carries relevant information about the distributed development process. By means of a novel data structure that we formally define, we analyze the topological characteristics of commit graphs of a sample of git projects. Our findings point out the existence of common recurrent structural patterns which identically occur in different projects and can be consider building blocks of distributed collaborative development

    SocioPath: Bridging the Gap between Digital and Social Worlds

    Get PDF
    International audienceIn everyday life, people use more and more digital resources (data, application systems, Internet, etc.) for all aspects of their life like administrative procedures, financial management, private exchanges, collaborative work, etc. This leads to non-negligible dependences on the digital distributed resources that reveal strong reliance at the social level, for instance on providers, physical or moral persons, of these resources. Users are often not aware of their real autonomy regarding the management of their digital resources. Thus, currently, people underestimate social dependences generated by the system architecture they use and the resulting potential risks. We argue that it is necessary to be aware of some key aspects of system's architectures to be able to know dependences. In this paper, we proposes SOCIOPATH, a generic meta-model to derive dependences generated by system's architecture. In particular, SOCIOPATH focuses on relations, like access, control, support, ownership, and so forth, among the different entities of the system (digital resources, hardware, persons, etc.). Enriched with deduction rules and definitions, SOCIOPATH allows to reveal the dependences of a person towards each entity in the system. SOCIOPATH could then be useful in the evaluation process of a system, as a modeling tool that bridges the gap between the digital and the social worlds

    SOCIOPATH: In Whom You Trust?

    Get PDF
    Distributed systems are getting more and more numerous, complex and used in a wide variety of applications. New solutions and new architectures arise (e.g., clouds) that support new functionalities (e.g., social networks) and pile up several software layers. This evolution implies new non negligible dependences increasing in the number of actors involved in the system (e.g., providers and users). Some undesirable dependences could be hidden by this layer stacking, implying a reduced transparency for users and a misunderstanding of her actual autonomy. Given that any software is directly dependent of the underlying layers, if any of these layers misbehaves, the given software may be unable to provide promised services. We argue that users should be aware of the potential risks resulting from their dependences. To be able to deduce those dependences, one should know the way the system works (architecture, involved resources, providers, participants, etc.). This would help to deduce the potential trust a user could or should have toward the system. We consider this of utmost importance, as professional efficiency and personal privacy could be compromised if untrusted actors control the access to resources. This work proposes SOCIOPATH, a generic meta-model that allows to expose hidden or implied relationships among participants in the digital world, which also introduce dependences at the social level. The notions presented in this approach are basics of many fields, like security, privacy, trust, sociology, economy and so forth. SOCIOPATH can be used in the evaluation process of a system as well as in its upstream design

    WUW (What Users Want): A Service to Enhance Users' Satisfaction in Content-Based Peer-to-Peer Networks

    Get PDF
    20 pagesPeer-to-Peer (P2P) architectures are more and more used in Content Delivery Net- works (CDN), because the traditional client-server architectures are burdened by high distribution and maintenance cost, whereas in P2P systems those costs are almost negli- gible. In general, such applications do not take into account user preferences, other than QoS-related parameters. As users resources are the richness of P2P systems, we think it is important to satisfy their preferences concerning the usage of their resources. In this work we propose WUW (What Users Want), a service to improve users' satisfaction in a personal way. WUW runs on top of unstructured P2P systems, and its main goal is to allow users to strategically impact their local neighborhoods according to their own personal preferences. We present first results of experiments, deployed in a cluster, obtained with the prototype implementation of our service, which runs on top of Bit- Torrent, the most used file sharing protocol. We show that BitTorrent performances are not affected by the users strategic choices introduced by WUW. The advantage of our approach is that, without loosing performance, users can chose the peers they want to collaborate with according to their personal preferences

    GRAPES: a Generic Environment for P2P Streaming

    Get PDF
    Practical implementation of new P2P streaming systems requires a lot of coding and is often tedious and costly, slowing down the technology transfer from the research community to real users. GRAPES aims at relieving this burden, and speed-up application development, by providing a set of open-source components conceived as basic build- ing blocks for building new P2P streaming applications. GRAPES is designed to be usable in different environments and situations, to have a minimal set of pre-requisites and dependencies, and not to impose any particular constraints on applications using it. The development of streamers in the Napa-Wine project [1] has shown that using GRAPES P2P streaming applications with different characteristics can be developed by only writing a small amount of glue code that connects the desired functionalities and dictates the architecture of the streamer

    "May the fork be with you": novel metrics to analyze collaboration on GitHub

    Get PDF
    International audienceMulti–repository software projects are becoming more and more popular, thanks to web–based facilities such as GitHub. Code and process metrics generally assume a single reposi-tory must be analyzed, in order to measure the characteris-tics of a codebase. Thus they are not apt to measure how much relevant information is hosted in multiple repositories contributing to the same codebase. Nor can they feature the characteristics of such a distributed development pro-cess. We present a set of novel metrics, based on an original classification of commits, conceived to capture some interest-ing aspects of a multi–repository development process. We also describe an efficient way to build a data structure that allows to compute these metrics on a set of Git reposito-ries. Interesting outcomes, obtained by applying our metrics on a large sample of projects hosted on GitHub, show the usefulness of our contribution

    P2POEM: Function optimization in P2P networks

    Get PDF
    International audienceScientists working in the area of distributed function optimization have to deal with a huge variety of optimization techniques and algorithms. Most of the existing research in this domain makes use of tightly-coupled systems that either have strict synchronization requirements or completely rely on a central server, which coordinates the work of clients and acts as a state repository. Quite recently, the possibility to perform such optimization tasks in a P2P decentralized network of solvers has been investigated and explored, leading to promising results. In order to improve and ease this newly addressed research area, we designed and developed p2poem (P2P Optimization Epidemic Middleware), that aims at bridging the gap between the issues related to the design and deployment of large-scale P2P systems and the need to easily deploy and execute optimization tasks in such a distributed environment

    M.: Towards a decentralized architecture for optimization

    Get PDF
    We introduce a generic framework for the distributed execution of combinatorial optimization tasks. Instead of relying on custom hardware (like dedicated parallel machines or clusters), our approach exploits, in a peer-to-peer fashion, the computing and storage power of existing, off-theshelf desktops and servers. Contributions of this paper are a description of the generic framework, together with a first instantiation based on particle swarm optimization (PSO). Simulation results are shown, proving the efficacy of our distributed PSO algorithm in optimizing a large number of benchmark functions.
    corecore