2,871 research outputs found

    An Empirical Study of Untangling Patterns of Two-Class Dependency Cycles

    Full text link
    Dependency cycles pose a significant challenge to software quality and maintainability. However, there is limited understanding of how practitioners resolve dependency cycles in real-world scenarios. This paper presents an empirical study investigating the recurring patterns employed by software developers to resolve dependency cycles between two classes in practice. We analyzed the data from 38 open-source projects across different domains and manually inspected hundreds of cycle untangling cases. Our findings reveal that developers tend to employ five recurring patterns to address dependency cycles. The chosen patterns are not only determined by dependency relations between cyclic classes, but also highly related to their design context, i.e., how cyclic classes depend on or are depended by their neighbor classes. Through this empirical study, we also discovered three common counterintuitive solutions developers usually adopted during cycles' handling. These recurring patterns and common counterintuitive solutions observed in dependency cycles' practice can serve as a taxonomy to improve developers' awareness and also be used as learning materials for students in software engineering and inexperienced developers. Our results also suggest that, in addition to considering the internal structure of dependency cycles, automatic tools need to consider the design context of cycles to provide better support for refactoring dependency cycles.Comment: Preprint accepted for publication in Empirical Software Engineering, 202

    The Boon and Bane of Blockchain:Getting the Governance Right

    Get PDF
    Countless enterprise blockchains fail to live up to high expectations, often because the supporting governance structures are insufficiently established or have become stagnant. Based on interviews with 153 blockchain executives and an analysis of publicly documented use cases, this article offers a guide for blockchain scholars and practitioners. Its framework highlights the coordination and control challenges that exist in blockchain governance contexts and presents four generic governance modes to address them: chief, clan, custodian, and consortium. Managers can use these governance modes as a basis for four strategic moves (connecting, isolating, loosening, and tightening) to navigate blockchain governance challenges

    Smart Repression

    Get PDF

    After the Storm: Interviews With Prominent Economists and Policy Leaders on the Future of the California Energy Market

    Get PDF
    Presents differing perspectives on the cause of California's energy crisis, and examines possible solutions for restoring a working energy market. Part of a series of research reports that examines energy issues facing California

    Programming Concepts in Playful Programming Products

    Get PDF

    The planning and organisation of action and activities of daily living in developmental coordination disorder

    Get PDF
    By the time typical children reach infant school they have in place key movement skills such as running, hopping, jumping, throwing, kicking and writing (Gallahue & Ozmun, 1995; Haywood & Getchell, 2001). While these skills will continue to be refined throughout childhood, they reveal that children possess sophisticated movement planning, organisation and execution skills even at this young age. In this chapter the potential cognitive explanations for developmental coordination disorder, a disorder in which movement skill does not develop in the typical way, will be reviewed, and, where possible, studies will be considered in terms of their parallels to activities of daily living

    Madeleine Albright, Gender, and Foreign Policy-Making

    Get PDF
    • …
    corecore