5,387 research outputs found

    Code Park: A New 3D Code Visualization Tool

    Full text link
    We introduce Code Park, a novel tool for visualizing codebases in a 3D game-like environment. Code Park aims to improve a programmer's understanding of an existing codebase in a manner that is both engaging and intuitive, appealing to novice users such as students. It achieves these goals by laying out the codebase in a 3D park-like environment. Each class in the codebase is represented as a 3D room-like structure. Constituent parts of the class (variable, member functions, etc.) are laid out on the walls, resembling a syntax-aware "wallpaper". The users can interact with the codebase using an overview, and a first-person viewer mode. We conducted two user studies to evaluate Code Park's usability and suitability for organizing an existing project. Our results indicate that Code Park is easy to get familiar with and significantly helps in code understanding compared to a traditional IDE. Further, the users unanimously believed that Code Park was a fun tool to work with.Comment: Accepted for publication in 2017 IEEE Working Conference on Software Visualization (VISSOFT 2017); Supplementary video: https://www.youtube.com/watch?v=LUiy1M9hUK

    Code Park: A New 3D Code Visualization Tool and IDE

    Get PDF
    We introduce Code Park, a novel tool for visualizing codebases in a 3D game-like environment. Code Park aims to improve a programmer\u27s understanding of an existing codebase in a manner that is both engaging and fun to be appealing especially for novice users such as students. It achieves these goals by laying out the codebase in a 3D park-like environment. Each class in the codebase is represented as a 3D room-like structure. Constituent parts of the class (variable, member functions, etc.) are laid out on the walls, resembling a syntax-aware wallpaper . The users can interact with the codebase using an overview, and a first-person viewer mode. They also can edit, compile and run code in this environment. We conducted three user studies to evaluate Code Park\u27s usability and suitability for organizing an existing project. Our results indicate that Code Park is easy to get familiar with and significantly helps in code understanding. Further, the users unanimously believed that Code Park was an engaging tool to work with

    Bubbles (Or, Some Reflections on the Basic Laws of Human Relations)

    Get PDF
    Very few of us want to live in the absolute isolation of a “bubble.” Most humans cherish the capacity to interact with their external environment even when we know that, at times, such exposure makes us susceptible to all sorts of negative effects ranging from mere annoyance to the contraction of deadly illnesses. Yet, because there are so many positive elements and benefits from that interaction and exposure, we often are willing to take the bitter with the sweet. We tolerate much external exposure to bad things in order to take advantage of the collisions with the good things that our outer environment offers. Yet, at the same time, to one extent or another, we all live with, and choose to cherish at times, some metaphorical, protective bubble around us, and it is the law that helps to define that bubble’s contours and provide its relative strength against those forces that might intrude upon it. This Essay understands the right to exclude and the control of externalities as far more than a real property issue, the area of law where it is normally discussed. Most laws regarding human relations involve these same concepts. Individuals have the right to exercise that dominion by doing what they wish with this property in the self and in things, while keeping people and things out (the right to exclude) or letting people and things in (the right to include, consent). The law struggles to formulate rules, including those related to the boundaries of property or the integrity of the body, to protect these bubbles and to define unacceptable externalities and remediable wrongs. This Essay seeks to identify the difficult choices we must make in deciding which intrusions we must accept as normal, inconvenient incidents of life and which we decide to deem externalities against which we should institute enforceable legal rules and protections

    Parking fines, and where to find them

    Get PDF
    Visualization is proven to be an effective way to communicate data to the readers. In Helsinki, open data on parking violation is available and updated frequently. However, the prior attempts on the dat a set, which are open to the public, do not meet the expectation with the up-to-date information. This thesis first reviews and summarizes the knowledge on the field of information visualization. Inspired by prior works on the process of creating a computer generated visualization, a model is adapted, which include both technical aspects and human participation. Following the process, the parking violation data in Helsinki from 2018 to 2019 is handled through pandas library, then represented as an interactive visualization on the web using D3JS and Mapbox GL JS. With the intention of making public data meaningful to each individual reader, a feature named "explorer" is built, allowing the analysis of the data in a radius around a specific location. Through a series of optimization and evaluation with the focus on rendering performance and insight creation, the work demonstrates the capability to combine with the parking experiences of its users to bring excitement and create new knowledge

    Interaction-aware development environments: recording, mining, and leveraging IDE interactions to analyze and support the development flow

    Get PDF
    Nowadays, software development is largely carried out using Integrated Development Environments, or IDEs. An IDE is a collection of tools and facilities to support the most diverse software engineering activities, such as writing code, debugging, and program understanding. The fact that they are integrated enables developers to find all the tools needed for the development in the same place. Each activity is composed of many basic events, such as clicking on a menu item in the IDE, opening a new user interface to browse the source code of a method, or adding a new statement in the body of a method. While working, developers generate thousands of these interactions, that we call fine-grained IDE interaction data. We believe this data is a valuable source of information that can be leveraged to enable better analyses and to offer novel support to developers. However, this data is largely neglected by modern IDEs. In this dissertation we propose the concept of "Interaction-Aware Development Environments": IDEs that collect, mine, and leverage the interactions of developers to support and simplify their workflow. We formulate our thesis as follows: Interaction-Aware Development Environments enable novel and in- depth analyses of the behavior of software developers and set the ground to provide developers with effective and actionable support for their activities inside the IDE. For example, by monitoring how developers navigate source code, the IDE could suggest the program entities that are potentially relevant for a particular task. Our research focuses on three main directions: 1. Modeling and Persisting Interaction Data. The first step to make IDEs aware of interaction data is to overcome its ephemeral nature. To do so we have to model this new source of data and to persist it, making it available for further use. 2. Interpreting Interaction Data. One of the biggest challenges of our research is making sense of the millions of interactions generated by developers. We propose several models to interpret this data, for example, by reconstructing high-level development activities from interaction histories or measure the navigation efficiency of developers. 3. Supporting Developers with Interaction Data. Novel IDEs can use the potential of interaction data to support software development. For example, they can identify the UI components that are potentially unnecessary for the future and suggest developers to close them, reducing the visual cluttering of the IDE

    ID 7.17 – Implementation of the Learning Path Manager and Editor

    Get PDF
    Herder, E., Kärger, P., Berlanga, A., Janssen, J., & Heyenrath, S. (2009). ID 7.17 – Implementation of the Learning Path Manager and Editor. TENCompetenceBased on preliminary evaluation results and peer review of the schema, a second iteration of the Leaning Path Specification has evolved (ID7.12). Its applicability and benefits are currently demonstrated by the development of a Learning Path Editor, which allows authors to create learning paths that are structured according to the learning path specification. These learning paths are used by the PDP Planning tool for presenting lifelong learners with a personal development plan that they can further edit toward their needs.The work on this publication has been sponsored by the TENCompetence Integrated Project that is funded by the European Commission's 6th Framework Programme, priority IST/Technology Enhanced Learning. Contract 027087 [http://www.tencompetence.org

    The Medium of Visualization for Software Comprehension

    Get PDF
    Although abundant studies have shown how visualization can help software developers to understand software systems, visualization is still not a common practice since developers (i) have little support to find a proper visualization for their needs, and once they find a suitable visualization tool, they (ii) are unsure of its effectiveness. We aim to offer support for identifying proper visualizations, and to increase the effectiveness of visualization techniques. In this dissertation, we characterize proposed software visualizations. To fill the gap between proposed visualizations and their practical application, we encapsulate such characteristics in an ontology, and propose a meta-visualization approach to find suitable visualizations. Amongst others characteristics of software visualizations, we identify that the medium used to display them can be a means to increase the effectiveness of visualization techniques for particular comprehension tasks.We implement visualization prototypes and validate our thesis via experiments. We found that even though developers using a physical 3D model medium required the least time to deal with tasks that involve identifying outliers, they perceived the least difficulty when visualizing systems based on the standard computer screen medium. Moreover, developers using immersive virtual reality obtained the highest recollection. We conclude that the effectiveness of software visualizations that use the city metaphor to support comprehension tasks can be increased when city visualizations are rendered in an appropriate medium. Furthermore, that visualization of software visualizations can be a suitable means for exploring their multiple characteristics that can be properly encapsulated in an ontology
    • …
    corecore