90 research outputs found

    Evolution and prospects of the Comprehensive R Archive Network (CRAN) package ecosystem

    Get PDF
    Free and open source software package ecosystems have existed for a long time, but such collaborative development practice has surged in recent years. One of the oldest and most popular package ecosystems is Comprehensive R Archive Network (CRAN), the repository of packages of the statistical language R, a popular statistical computing environment. CRAN stores a large number of packages that are updated regularly and depend on many other packages in a complex graph of relations. As the repository grows, its sustainability could be threatened by that complexity or nonuniform evolution of some packages. This paper provides an empirical analysis of the evolution of the CRAN repository in the last 20 years, considering the laws of software evolution and the effect of CRAN's policies on such development. Results show how the progress of CRAN is consistent with the laws of continuous growth and change and how there seems to be a relevant increase in complexity in recent years. Significant challenges are raising related to the scale and scope of software package managers and the services they provide; understanding how they change over time and what might endanger their sustainability are key factors for their future improvement, maintenance, policies, and, eventually, sustainability of the ecosystem

    Exploring Software Testing Strategies Used on Software Applications in the Government

    Get PDF
    Developing a defect-free software application is a challenging task. Despite many years of experience, the intense development of reliable software remains a challenge. For this reason, software defects identified at the end of the testing phase are more expensive than those detected sooner. The purpose of this multiple case study is to explore the testing strategies software developers use to ensure the reliability of software applications in the government contracting industry. The target population consisted of software developers from 3 government contracting organizations located along the East Coast region of the United States. Lehman’s laws of software evolution was the conceptual framework. The data collection process included semistructured interviews with software developers (n = 10), including a review of organizational documents (n = 77). Thematic analysis was used to identify patterns and codes from the interviews. Member checking activities were triangulated with organizational documents to produce 4 major themes: (a) communication and collaboration with all stakeholders, (b) development of well-defined requirements, (c) focus on thorough documentation, and (d) focus on automation testing. The results of this study may contribute to information about testing strategies that may help organizations improve or enhance their testing practices. The results of this study may serve as a foundation for positive social change by potentially improving citizens’ experience with government software applications as a result of potential improvement in software testing practice

    Enhancing Students\u27 Perception Of Software Maintainability By Using Collaborative Team-Based Role Play

    Get PDF
    This research was performed within a software engineering workshop. In addition to standard technical issues, this workshop was designed to enhance students\u27 capabilities related to non-technical knowledge areas, such as critical thinking, interpersonal and team-based skills. An important objective of outlining the importance of software maintainability issues was achieved through team-based collaborative development activities. There were three assignments in which each team had to continue the work designed (or developed) by another team. The main research study objective was to examine the effect of employing this kind of a team-based peer-review on the students\u27 learning process. Data referring to the students\u27 perceptions is presented and analyzed in addition to student reflections on the workshop which demonstrate their expanded understanding of the design and application process

    CHANGING STUDENTS PERCEPTION REGARDING SOFTWARE DOCUMENTATION

    Get PDF
    Being aware to the important role of proper software documentation on one hand and being acquainted with the students\u27 views regarding this issue on the other, we decided to examine the effects of facing the students with bad documentation or the lack of it on their views, as represented by a software project they have to design, develop and test.. This research was performed within a software engineering workshop for Computer Science students. For addressing the soft skills issues required by the industry, the course was delivered as a workshop with various (inter and intra) team based activities. The objective of outlining the importance of software maintainability issues was achieved through a hybrid team-based role play. The workshop consists of three assignments, following a typical software design and development process, in which each team had to continue the work performed by another team, thus creating a dependency between the team members as well as between the teams as might happen during real life maintenance. The main research study objective was to examine the effect of employing this kind of a hybrid team-based role-play and peer-review on the students\u27 learning process regarding product documentation for future maintainability. Data referring to the students\u27 perceptions is presented and analyzed in addition to student reflections on the workshop which demonstrate their expanded understanding of documenting the design and application process

    Does Complexity Matter? The Impact of Change in Structural Complexity on Software Maintenance and New Developers\u27 Contributions in Open Source Software

    Get PDF
    The research paper focuses on how change in structural complexity impacts Open Source Software maintenance. We analyzed software maintenance in terms of change in number of bugs, change in time taken to fix bugs, and change in the number of contributions from new developers. Data for model validation was collected from SourceForge. The important implications of the study are discussed

    CentrePiece Vol. 15 No. 3

    Get PDF

    Animating the evolution of software

    Get PDF
    The use and development of open source software has increased significantly in the last decade. The high frequency of changes and releases across a distributed environment requires good project management tools in order to control the process adequately. However, even with these tools in place, the nature of the development and the fact that developers will often work on many other projects simultaneously, means that the developers are unlikely to have a clear picture of the current state of the project at any time. Furthermore, the poor documentation associated with many projects has a detrimental effect when encouraging new developers to contribute to the software. A typical version control repository contains a mine of information that is not always obvious and not easy to comprehend in its raw form. However, presenting this historical data in a suitable format by using software visualisation techniques allows the evolution of the software over a number of releases to be shown. This allows the changes that have been made to the software to be identified clearly, thus ensuring that the effect of those changes will also be emphasised. This then enables both managers and developers to gain a more detailed view of the current state of the project. The visualisation of evolving software introduces a number of new issues. This thesis investigates some of these issues in detail, and recommends a number of solutions in order to alleviate the problems that may otherwise arise. The solutions are then demonstrated in the definition of two new visualisations. These use historical data contained within version control repositories to show the evolution of the software at a number of levels of granularity. Additionally, animation is used as an integral part of both visualisations - not only to show the evolution by representing the progression of time, but also to highlight the changes that have occurred. Previously, the use of animation within software visualisation has been primarily restricted to small-scale, hand generated visualisations. However, this thesis shows the viability of using animation within software visualisation with automated visualisations on a large scale. In addition, evaluation of the visualisations has shown that they are suitable for showing the changes that have occurred in the software over a period of time, and subsequently how the software has evolved. These visualisations are therefore suitable for use by developers and managers involved with open source software. In addition, they also provide a basis for future research in evolutionary visualisations, software evolution and open source development
    • 

    corecore