2,890 research outputs found

    Quality factors and coding standards - a comparison between open source forges

    Get PDF
    Enforcing adherence to standards in software development in order to produce high quality software artefacts has long been recognised as best practice in traditional software engineering. In a distributed heterogeneous development environment such those found within the Open Source paradigm, coding standards are informally shared and adhered to by communities of loosely coupled developers. Following these standards could potentially lead to higher quality software. This paper reports on the empirical analysis of two major forges where OSS projects are hosted. The first one, the KDE forge, provides a set of guidelines and coding standards in the form of a coding style that developers may conform to when producing the code source artefacts. The second studied forge, SourceForge, imposes no formal coding standards on developers. A sample of projects from these two forges has been analysed to detect whether the SourceForge sample, where no coding standards are reinforced, has a lower quality than the sample from KDE. Results from this analysis form a complex picture; visually, all the selected metrics show a clear divide between the two forges, but from the statistical standpoint, clear distinctions cannot be drawn amongst these quality related measures in the two forge samples

    Quality factors and coding standards - a comparison between open source forges

    Get PDF
    Enforcing adherence to standards in software development in order to produce high quality software artefacts has long been recognised as best practice in traditional software engineering. In a distributed heterogeneous development environment such those found within the Open Source paradigm, coding standards are infor-mally shared and adhered to by communities of loosely coupled developers. Following these standards could potentially lead to higher quality software. This paper reports on the empirical analysis of two major forges where OSS projects are hosted. The first one, the KDE forge, provides a set of guidelines and coding standards in the form of a coding style that developers may conform to when producing the code source artefacts. The second studied forge, SourceForge, imposes no formal coding standards on developers. A sample of projects from these two forges has been analysed to detect whether the SourceForge sample, where no coding standards are reinforced, has a lower quality than the sample from KDE. Results from this analysis form a complex picture; visually, all the selected metrics show a clear divide between the two forges, but from the statistical standpoint, clear distinctions cannot be drawn amongst these quality related measures in the two forge samples

    Structural Complexity and Decay in FLOSS Systems: An Inter-Repository Study

    Get PDF
    Past software engineering literature has firmly established that software architectures and the associated code decay over time. Architectural decay is, potentially, a major issue in Free/Libre/Open Source Software (FLOSS) projects, since developers sporadically joining FLOSS projects do not always have a clear understanding of the underlying architecture, and may break the overall conceptual structure by several small changes to the code base. This paper investigates whether the structure of a FLOSS system and its decay can also be influenced by the repository in which it is retained: specifically, two FLOSS repositories are studied to understand whether the complexity of the software structure in the sampled projects is comparable, or one repository hosts more complex systems than the other. It is also studied whether the effort to counteract this complexity is dependent on the repository, and the governance it gives to the hosted projects. The results of the paper are two-fold: on one side, it is shown that the repository hosting larger and more active projects presents more complex structures. On the other side, these larger and more complex systems benefit from more anti-regressive work to reduce this complexity

    Design of an Embedded Low Complexity Image Coder using CAL language

    Get PDF
    International audienceThe increasing complexity of image codecs and the time to market requires a high level design. Caltrop Actor Language (CAL) is a domain-specific language that provides useful abstractions for dataflow programming with actor. It has been chosen by the ISO/IEC standardization organization in the new MPEG standard called Reconfigurable Video Coding. This framework is adopted to design a multitude of codecs by combining actors. We present in this paper the specification and synthesis of the image coder LAR (Locally adaptive resolution) using the CAL framework. An HDL description and generation tools are used. The results show that such a high level design is possible. The quality of the resulting decoder implementation turns out to be better than that of a VHDL reference design. In the following, the main parts of the LAR coder will be presented; we will introduce the basic notions of the CAL language and its infrastructure (edition, simulation and HDL synthesis tools) and the results will be discussed

    How Many Penguins Can Hide Under an Umbrella? An Examination of How Lay Conceptions Conceal the Contexts of Free/Open Source Software

    Get PDF
    This paper examines the attention put by IS researchers to the various contexts of the Free/Open Source Software (FOSS) phenomenon. Following a selective review of the IS literature on FOSS, we highlight some of the pitfalls that FOSS research encounter in its quest for theoretical progress. We raise awareness of these pitfalls\u27 consequences for how we propose, test, and falsify theories about the FOSS phenomenon. We conclude by proposing an agenda for future research

    The Relationship between Therapeutic Alliance and Service User Satisfaction in Mental Health Inpatient Wards and Crisis House Alternatives: A Cross-Sectional Study

    Get PDF
    Background Poor service user experiences are often reported on mental health inpatient wards. Crisis houses are an alternative, but evidence is limited. This paper investigates therapeutic alliances in acute wards and crisis houses, exploring how far stronger therapeutic alliance may underlie greater client satisfaction in crisis houses. Methods and Findings Mixed methods were used. In the quantitative component, 108 crisis house and 247 acute ward service users responded to measures of satisfaction, therapeutic relationships, informal peer support, recovery and negative events experienced during the admission. Linear regressions were conducted to estimate the association between service setting and measures, and to model the factors associated with satisfaction. Qualitative interviews exploring therapeutic alliances were conducted with service users and staff in each setting and analysed thematically. Results We found that therapeutic alliances, service user satisfaction and informal peer support were greater in crisis houses than on acute wards, whilst self-rated recovery and numbers of negative events were lower. Adjusted multivariable analyses suggest that therapeutic relationships, informal peer support and negative experiences related to staff may be important factors in accounting for greater satisfaction in crisis houses. Qualitative results suggest factors that influence therapeutic alliances include service user perceptions of basic human qualities such as kindness and empathy in staff and, at service level, the extent of loss of liberty and autonomy. Conclusions and Implications We found that service users experience better therapeutic relationships and higher satisfaction in crisis houses compared to acute wards, although we cannot exclude the possibility that differences in service user characteristics contribute to this. This finding provides some support for the expansion of crisis house provision. Further research is needed to investigate why acute ward service users experience a lack of compassion and humanity from ward staff and how this could be changed

    Software Supply Chain Development and Application

    Get PDF
    Motivation: Free Libre Open Source Software (FLOSS) has become a critical componentin numerous devices and applications. Despite its importance, it is not clear why FLOSS ecosystem works so well or if it may cease to function. Majority of existing research is focusedon studying a specific software project or a portion of an ecosystem, but FLOSS has not been investigated in its entirety. Such view is necessary because of the deep and complex technical and social dependencies that go beyond the core of an individual ecosystem and tight inter-dependencies among ecosystems within FLOSS.Aim: We, therefore, aim to discover underlying relations within and across FLOSS projects and developers in open source community, mitigate potential risks induced by the lack of such knowledge and enable systematic analysis over entire open source community through the lens of supply chain (SC).Method: We utilize concepts from an area of supply chains to model risks of FLOSS ecosystem. FLOSS, due to the distributed decision making of software developers, technical dependencies, and copying of the code, has similarities to traditional supply chain. Unlike in traditional supply chain, where data is proprietary and distributed among players, we aim to measure open-source software supply chain (OSSC) by operationalizing supply chain concept in software domain using traces reconstructed from version control data.Results: We create a very large and frequently updated collection of version control data in the entire FLOSS ecosystems named World of Code (WoC), that can completely cross-reference authors, projects, commits, blobs, dependencies, and history of the FLOSS ecosystems, and provide capabilities to efficiently correct, augment, query, and analyze that data. Various researches and applications (e.g., software technology adoption investigation) have been successfully implemented by leveraging the combination of WoC and OSSC.Implications: With a SC perspective in FLOSS development and the increased visibility and transparency in OSSC, our work provides potential opportunities for researchers to conduct wider and deeper studies on OSS over entire FLOSS community, for developers to build more robust software and for students to learn technologies more efficiently and improve programming skills

    Barriers to Open-Source Software Adoption: Review and Synthesis

    Get PDF
    Free/Libre and Open Source Software (FLOSS) has had a profound impact on the field of Information Technology. While the adoption rates of FLOSS have been growing, extant research reports various significant barriers that inhibit widespread adoption. To develop a comprehensive overview of FLOSS adoption barriers, this study reviewed and synthesized 44 relevant articles published between 2003 and 2016. Based on the organizing logic of the Technology, Organization, Environment and Individual (TOEI) framework, we categorized the challenges and identified major adoption barriers in each dimension. Technology barriers include vendor lock-in, lack of maturity, and lack of external support. At the organizational level, companies often lack financial and human resources, as well as adequate managerial support. Environmental aspects include culture, policies, and legal frameworks. Individual factors, such as employees’ resistance to change and risk-averse leadership may also negatively influence the adoption process

    Who Writes Scholarly Code?

    Get PDF
    This paper presents original research about the behaviours, histories, demographics, and motivations of scholars who code, specifically how they interact with version control systems locally and on the Web. By understanding patrons through multiple lenses – daily productivity habits, motivations, and scholarly needs – librarians and archivists can tailor services for software management, curation, and long-term reuse, raising the possibility for long-term reproducibility of a multitude of scholarship

    Assisting Software Developers With License Compliance

    Get PDF
    Open source licensing determines how open source systems are reused, distributed, and modified from a legal perspective. While it facilitates rapid development, it can present difficulty for developers in understanding due to the legal language of these licenses. Because of misunderstandings, systems can incorporate licensed code in a way that violates the terms of the license. Such incompatibilities between licensing can result in the inability to reuse a particular library without either relicensing the system or redesigning the architecture of the system. Prior efforts have predominantly focused on license identification or understanding the underlying phenomena without reasoning about compatibility in a broad scale. The work in this dissertation first investigates the rationale of developers and identifies the areas that developers struggle with respect to free/open source software licensing. First, we investigate the diffusion of licenses and the prevalence of license changes in a large scale empirical study of 16,221 Java systems. We observed a clear lack of traceability and a lack of standardized licensing that led to difficulties and confusion for developers trying to reuse source code. We further investigated the difficulty by surveying the developers of the systems with license changes to understand why they first adopted a license and then changed licenses. Additionally, we performed an analysis on issue trackers and legal mailing lists to extract licensing bugs. From these works, we identified key areas in which developers struggled and needed support. While developers need support to identify license incompatibilities and understand both the cause and implications of the incompatibilities, we observed that state-of-the-art license identification tools did not identify license exceptions. Since these exceptions directly modify the license terms (either the permissions granted by the license or the restrictions imposed by the license), we proposed an approach to complement current license identification techniques in order to classify license exceptions. The approach relies on supervised machine learners to classify the licensing text to identify the particular license exceptions or the lack of a license exception. Subsequently, we built an infrastructure to assist developers with evaluating license compliance warnings for their system. The infrastructure evaluates compliance across the dependency tree of a system to ensure it is compliant with all of the licenses of the dependencies. When an incompatibility is present, it notes the specific library/libraries and the conflicting license(s) so that the developers can investigate these compliance warnings, which would prevent distribution of their software, in their system. We conduct a study on 121,094 open source projects spanning 6 programming languages, and we demonstrate that the infrastructure is able to identify license incompatibilities between these projects and their dependencies
    corecore