244 research outputs found

    Automating User Interfaces for a Multi-way Dataflow Constraint System

    Get PDF
    A scriptable User Interface (UI) can be set to record the user’s actions into a script, and then play that recorded script back over different data. The purpose is to automate oft-occurring use patterns. Though such automation is useful, especially for advanced users of particular software systems, scriptable UIs are not common. We conjecture that the implementation cost of such features is too high for them to become common. The project develops a generic approach for scripting where this feature could be packaged into a library, to be reused by different UIs. In this approach, the effort needed to implement scripting is considerably reduced. The context for this thesis is the use of multi-way dataflow constraint systems in Graphical User Interface (GUI) programming. Such systems can represent the state of a GUI in a concise and well-structured manner. These state representations can be inspected and manipulated programmatically, which is what we exploit for generic script- ing too. Concretely, we build scripting support for the HotDrink GUI framework that is based on multi-way dataflow constraint systems and provides a mechanism for structural manipulation of GUI elements.Masteroppgave i Programutvikling samarbeid med HVLPROG399MAMN-PRO

    The final Spell. 3D RPG video game demo design and development supported by agile practices final bachelor's degree project

    Get PDF
    Treball final de Grau en Disseny i Desenvolupament de Videojocs. Codi: VJ1241. Curs acadèmic: 2020/2021This document describes the process of developing the demo of a 3D RPG video game called “The Final Spell” for the Bachelor’s Thesis in the Bachelor's Degree in Video Game Design and Development, including the design, implementation, art, music and teamwork required for the creation of said demo. Specifically, this document emphasizes the development from a programming view, explaining the implementation of the different mechanics of an RPG, such as the main character movement and spells, the interactions with NPCs - dialogues, quests… -, the interactions with the environment and a save system. The game has been developed using Unity Engine and coded in C#

    Doctor of Philosophy

    Get PDF
    dissertationDomain-specific languages (DSLs) are increasingly popular, and there are a variety of ways to create a DSL. A DSL designer might write an interpreter from scratch, compile the DSL to another language, express DSL concepts using only the existing forms of an existing language, or implement DSL constructs using a language's extension capabilities, including macros. While extensible languages can offer the easiest opportunity for creating a DSL that takes advantage of the language's existing infrastructure, existing tools for debugging fail to adequately adapt the debugging experience to a given domain. This dissertation addresses the problem of debugging DSLs defined with macros and describes an event-oriented approach that works well with a macro-expansion view of language implementation. It pairs the mapping of DSL terms to host terms with an event mapping to convert primitive events back to domain-specific concepts. Domain-specific events can be further inspected or manipulated to construct domain-specific debuggers. This dissertation presents a core model of evaluation and events and also presents a language design-analogous to pattern-based notations for macros, but in the other direction-for describing how events in a DSL's expansion are mapped to events at the DSL's level. The domain-specific events can enable useful, domain-specific debuggers, and the dissertation introduces a design for a debugging framework to help with debugger construction. To validate the design of the debugging framework, a debugging framework, Ripple, is implemented, and this dissertation demonstrates that with a modest amount of work, Ripple can support building domain-specific debuggers

    User-centered Program Analysis Tools

    Get PDF
    The research and industrial communities have made great strides in developing advanced software defect detection tools based on program analysis. Most of the work in this area has focused on developing novel program analysis algorithms to find bugs more efficiently or accurately, or to find more sophisticated kinds of bugs. However, the focus on algorithms often leads to tools that are complex and difficult to actually use to debug programs. We believe that we can design better, more useful program analysis tools by taking a user-centered approach. In this dissertation, we present three possible elements of such an approach. First, we improve the user interface by designing Path Projection, a toolkit for visualizing program paths, such as call stacks, that are commonly used to explain errors. We evaluated Path Projection in a user study and found that programmers were able to verify error reports more quickly with similar accuracy, and strongly preferred Path Projection to a standard code viewer. Second, we make it easier for programmers to combine different algorithms to customize the precision or efficiency of a tool for their target programs. We designed Mix, a framework that allows programmers to apply either type checking, which is fast but imprecise, or symbolic execution, which is precise but slow, to different parts of their programs. Mix keeps its design simple by making no modifications to the constituent analyses. Instead, programmers use Mix annotations to mark blocks of code that should be typed checked or symbolically executed, and Mix automatically combines the results. We evaluated the effectiveness of Mix by implementing a prototype called Mixy for C and using it to check for null pointer errors in vsftpd. Finally, we integrate program analysis more directly into the debugging process. We designed Expositor, an interactive dynamic program analysis and debugging environment built on top of scripting and time-travel debugging. In Expositor, programmers write program analyses as scripts that analyze entire program executions, using list-like operations such as map and filter to manipulate execution traces. For efficiency, Expositor uses lazy data structures throughout its implementation to compute results on-demand, enabling a more interactive user experience. We developed a prototype of Expositor using GDB and UndoDB, and used it to debug a stack overflow and to unravel a subtle data race in Firefox

    K-Punch! Implementation of music and its rhythm in order to improve players’ coordination, reflexes and focus skills

    Get PDF
    Treball final de Grau en Disseny i Desenvolupament de Videojocs. Codi: VJ1241. Curs acadèmic: 2022/2023This document contains the report of the Video Games Design and Development Degree’s Final Project developed by Jorge Trens Roda. The idea of this project was born due to the student’s love for rhythm games and listening to his favourite songs on repeat. The desire of playing them and not being able to find any existent game that has them available came together to create this project. “K-Punch” is a rhythm game where the player has to click the proper button on beat in order to hit a training dummy that will give them points

    Automation testing tools : a comparative view

    Get PDF
    Effective software testing leads to assurance towards high quality in software development. Automation testing tool facilitates in faster testing process in testing stage thus completion and implementation of software on time. One of the most significant issues for automation is to select the automation-testing tool and the appropriate framework. The objective of this paper is to assess and compare twenty-one available automation-testing tools on twenty attributes in comprehensive manner. This study will assist software testing professionals and researchers towards further insight in this area. Keywords: test automation, automation tools, software testing, automation test frameworks, test automation typespublishedVersio
    • …
    corecore