97,906 research outputs found

    Using automated source code analysis for software evolution

    Get PDF
    Software maintenance is one of the most expensive and time-consuming phases in the software life-cycle. The size and complexity of commercial applications probably present the greatest difficulty that maintainers face when making changes to their applications. As a result of the corresponding loss of understanding, business knowledge encapsulated within the system becomes fragmented, and any changes made as a result of new business initiatives become difficult to implement and hence may mean a loss of business opportunities. This paper outlines an approach to regaining understanding of software which has been used in the Release project at Durham University. This approach involves determining the calling structure of a program in terms of a call-graph, and from this call-graph extracting a dominance tree. Various problems which have been encountered during the construction of tools to perform this task are described

    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

    SLIS Student Research Journal, Vol. 4, Iss. 2

    Get PDF

    Developing Comprehensive Diabetes Education Materials for Structured Patient Education Programs in Primary Care Setting

    Full text link
    Diabetes education is a key factor for a successful diabetes care. Comprehensive diabetes education materials for conducting structured diabetes education programs were rarely found in primary care setting in Indonesia. There was a need for developing new, comprehensive diabetes education materials for low-literate readers. Developing these education materials followed standard steps in developing print materials, and took account tips for writing low literacy materials for poor readers. The new diabetes education materials consisted of ten various leaflets, also printed as14 posters and 14 x-banners. The ten diabetes leaflets were pre-tested to 5 people with type 2 diabetes (T2D). After minor revisions, the leaflets were printed and distributed to 88 people with T2D attending two structured diabetes education programs in Yogyakarta City. These 88 people were requested to evaluate the leaflets using an evaluation form consisting of four items on language usage, font size, use of pictures, and diabetes information with a 1-10 rating scale; and an open-ended question for improvement. Descriptive statistics were used to analyze the results. Most participants thought that the leaflets were easy to understand and read, interesting, and simple. Majority of participants (79.7%) gave favorable comments without providing suggestions for improvement, such as: “The diabetes leaflets are already good and easy to understand” One third of the participants gave suggestions for improvement. The comprehensive diabetes leaflets developed were well received and highly appreciated by people with T2D attending diabetes education programs

    RePOR: Mimicking humans on refactoring tasks. Are we there yet?

    Full text link
    Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the correction of anti-patterns, which are `poor' solutions to recurring design problems. However, little quantitative evidence exists about the impact of automatically refactored code on program comprehension, and in which context automated refactoring can be as effective as manual refactoring. Leveraging RePOR, an automated refactoring approach based on partial order reduction techniques, we performed an empirical study to investigate whether automated refactoring code structure affects the understandability of systems during comprehension tasks. (1) We surveyed 80 developers, asking them to identify from a set of 20 refactoring changes if they were generated by developers or by a tool, and to rate the refactoring changes according to their design quality; (2) we asked 30 developers to complete code comprehension tasks on 10 systems that were refactored by either a freelancer or an automated refactoring tool. To make comparison fair, for a subset of refactoring actions that introduce new code entities, only synthetic identifiers were presented to practitioners. We measured developers' performance using the NASA task load index for their effort, the time that they spent performing the tasks, and their percentages of correct answers. Our findings, despite current technology limitations, show that it is reasonable to expect a refactoring tools to match developer code

    Where did I lose you? Accessing the literacy demands of assessment

    Get PDF
    In this study we sought to find out how teachers could make assessment fairer for Indigenous students in learning mathematics, given the context of the high stakes of the National Assessment Program Literacy and Numeracy (NAPLAN). Today, teachers are experiencing the full range of demands from their own students who require individual attention, through to system level expectations of improved performances for all students. Many staff experience reform fatigue with limited time for critical reflection and a reduction in support for the use and the analysis of the overwhelming amount of data that has become available in recent years. Over the past three years we worked with teachers in seven schools to gradually refine our research focus to centre on how we might best support teachers in this demanding context with the important outcome of improved teaching and learning of mathematics with particular consideration of how to respond to the cultural needs of Indigenous (Aboriginal and Torres Strait Islander) students
    • …
    corecore