547 research outputs found

    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

    Automatic Identification of Assumptions from the Hibernate Developer Mailing List

    Get PDF
    During the software development life cycle, assumptions are an important type of software development knowledge that can be extracted from textual artifacts. Analyzing assumptions can help to, for example, comprehend software design and further facilitate software maintenance. Manual identification of assumptions by stakeholders is rather time-consuming, especially when analyzing a large dataset of textual artifacts. To address this problem, one promising way is to use automatic techniques for assumption identification. In this study, we conducted an experiment to evaluate the performance of existing machine learning classification algorithms for automatic assumption identification, through a dataset extracted from the Hibernate developer mailing list. The dataset is composed of 400 'Assumption' sentences and 400 'Non-Assumption' sentences. Seven classifiers using different machine learning algorithms were selected and evaluated. The experiment results show that the SVM algorithm achieved the best performance (with a precision of 0.829, a recall of 0.812, and an F1-score of 0.819). Additionally, according to the ROC curves and related AUC values, the SVM-based classifier comparatively performed better than other classifiers for the binary classification of assumptions.</p

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    Biometric storyboards: a games user research approach for improving qualitative evaluations of player experience

    Get PDF
    Developing video games is an iterative and demanding process. It is difficult to achieve the goal of most video games — to be enjoyable, engaging and to create revenue for game developers — because of many hard-to-evaluate factors, such as the different ways players can interact with the game. Understanding how players behave during gameplay is of vital importance to developers and can be uncovered in user tests as part of game development. This can help developers to identify and resolve any potential problem areas before release, leading to a better player experience and possibly higher game review scores and sales. However, traditional user testing methods were developed for function and efficiency oriented applications. Hence, many traditional user testing methods cannot be applied in the same way for video game evaluation. This thesis presents an investigation into the contributions of physiological measurements in user testing within games user research (GUR). GUR specifically studies the interaction between a game and users (players) with the aim to provide feedback for developers to help them to optimise the game design of their title. An evaluation technique called Biometric Storyboards is developed, which visualises the relationships between game events, player feedback and changes in a player’s physiological state. Biometric Storyboards contributes to the field of human-computer interaction and GUR in three important areas: (1) visualising mixedmeasures of player experience, (2) deconstructing game design by analysing game events and pace, (3) incremental improvement of classic user research techniques (such as interviews and physiological measurements). These contributions are described in practical case studies, interviews with game developers and laboratory experiments. The results show this evaluation approach can enable games user researchers to increase the plausibility and persuasiveness of their reports and facilitate developers to better deliver their design goals. Biometric Storyboards is not aimed at replacing existing methods, but to extend them with mixed methods visualisations, to provide powerful tools for games user researchers and developers to better understand and communicate player needs, interactions and experiences. The contributions of this thesis are directly applicable for user researchers and game developers, as well as for researchers in user experience evaluation in entertainment systems

    Information Visualization (iV): Notes about the 9th IV ’05 International Conference, London, England

    Get PDF
    This review tells about the International Conference on Information Visualization that is held annually in London, England. Themes selected from the Conference Proceedings are focused on theoretical concepts, semantic approach to visualization, digital art, and involve 2D, 3D, interactive and virtual reality tools and applications. The focal point of the iV 05 Conference was the progress in information and knowledge visualization, visual data mining, multimodal interfaces, multimedia, web graphics, graph theory application, augmented and virtual reality, semantic web visualization, HCI, digital art, among many other areas such as information visualization in geology, medicine, industry and education

    A biography of open source software: community participation and individuation of open source code in the context of microfinance NGOs in North Africa and the Middle East

    Get PDF
    For many, microfinance is about building inclusive financial systems to help the poor gain direct access to financial services. Hundreds of grassroots have specialised in the provision of microfinance services worldwide. Most of them are adhoc organisations, which suffer severe organisational and informational deficiencies. Over the past decades, policy makers and consortia of microfinance experts have attempted to improve their capacity building through ICTs. In particular, there is strong emphasis on open source software (OSS) initiatives, as it is commonly believed that MFIs are uniquely positioned to benefit from the advantages of openness and free access. Furthermore, OSS approaches have recently become extremely popular. The OSS gurus are convinced there is a business case for a purely open source approach, especially across international development spheres. Nonetheless, getting people to agree on what is meant by OSS remains hard to achieve. On the one hand scholarly software research shows a lack of consensus and documents stories in which the OSS meaning is negotiated locally. On the other, the growing literature on ICT-for-international development does not provide answers as research, especially in the microfinance context, presents little empirical scrutiny. This thesis therefore critically explores the OSS in the microfinance context in order to understand itslong-term development and what might be some of the implications for MFIs. Theoretically I draw on the 3rd wave of research within the field of Science and Technology Studies –studies of Expertise and Experience (SEE). I couple the software ‘biography’ approach (Pollock and Williams 2009) with concepts from Simondon’s thesis on the individuation of technical beings (1958) as an integrated framework. I also design a single case study, which is supported by an extensive and longitudinal collection of data and a three-stage approach, including the analysis of sociograms, and email content. This case provides a rich empirical setting that challenges the current understanding of the ontology of software and goes beyond the instrumental views of design, building a comprehensive framework for community participation and software sustainability in the context of the microfinance global industry

    Computer based writing support for dyslexic adults using language constraints

    Get PDF
    Computers have been used effectively to provide support for people with a variety of special needs. One such group is adults with dyslexia. Dyslexia is commonly recognised as a learning disorder characterised by reading, writing and spelling difficulties. It inhibits recognition and processing of graphic symbols, particularly those pertaining to language. Computers are a useful aid for dyslexic adults, especially word processors and their associated spelling tools. However, there are still areas where improvements are needed. Creating an environment, which minimises visual discomfort associated with proof reading and making selections from lists would be of benefit. Furthermore providing the correct type and level of support for spelling, grammar and sentence construction may result in higher standards being achieved. A survey of 250 dyslexic adults established their requirements and enabled the development of a specialist word processing system and associated spelling support tools. The hypothesis, that using a language with enforced structure and rigid constraints has a positive affect for dyslexic adults, was also tested. A support tool, which provided a controlled environment, to assist with sentence construction for dyslexic adults was developed from this. Three environments were created using the word processing system: environment 1 used the basic system with no support, environment 2 provided spelling support suggested by the survey subjects and environment 3 used the sentence constructing tool providing support and control. Using these environments in controlled experiments indicated that although environment 2 achieved high academic standards, environment 3 produced written work to an even higher standard and at the same time, the subjects derived greater satisfaction in using it. This research proves that working in a controlled, rigid environment, where structure is enforced, substantially benefits dyslexic adults performing computer-based writing tasks

    An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools

    Get PDF
    Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming

    An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools

    Get PDF
    Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming
    corecore