12 research outputs found

    Reading between the lines of code : visualising a program’s lifetime

    Get PDF
    Visual representations of systems or processes are rife in all fields of science and engineering due to the concise yet effusive descriptions such representations convey. Humans’ pervasive tendency to visualise has led to various methods being evolved through the years to represent different aspects of software. However visualising running software has been fraught with the challenges of providing a meaningful representation of a process which is stripped of meaningful cues and reduced to manipulating values and the field has consequently evolved very slowly. Visualising running software is particularly useful for analysing the behaviour of software (e.g. software written to make use of late binding) and to gain a better understanding of the ever-important assessment of how well the final product is fulfilling the initial request. This paper discusses the significance of gaining improved insight into a program’s lifetime and demonstrates how attributing a geometric sense to the design of computer languages can serve to make it easier to visualise the execution of software by shifting the focus of semantics towards the spatial organisation of program parts.peer-reviewe

    ALMA versus DDD

    Get PDF
    To be a debugger is a good thing! Since the very beginning of the programming activity, debuggers are the most important and widely used tools after editors and compilers; we completely recognize their importance for software development and testing. Debuggers work at machine level, after the compilation of the source program; they deal with assembly, or binary-code, and are mainly data structure inspectors. Alma is a program animator based on its abstract representation. The main idea is to show the algorithm being implemented by the program, independently from the language used to implement it. To say that ALMA is a debugger, with no value added, is not true! ALMA is a source code inspector but it deals with programming concepts instead of machine code. This makes possible to understand the source program at a conceptual level, and not only to fix run time errors. In this paper we compare our visualizer/animator system, ALMA, with one of the most well-known and used debuggers, the graphical version of GDB, the DDD program. The aim of the paper is twofold: the immediate objective is to prove that ALMA provides new features that are not usually offered by debuggers; the main contribution is to recall the concepts of debugger and animator, and clarify the role of both tools in the field of program understanding, or program comprehension.FC

    DDD - A Free Graphical Front-End for UNIX Debuggers

    No full text
    The Data Display Debugger (DDD) is a novel graphical user interface to GDB and DBX, the popular UNIX debuggers. Besides "usual" features such as viewing source texts and breakpoints, DDD provides a graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or reveals structure contents. Complex data structures can be explored incrementally and interactively, using automatic layout if preferred. Each time the program stops, the data display reflects the current variable values. DDD has been designed to compete with well-known commercial debuggers; however, it is free software, protected by the GNU general public license. In this paper, we give a quick presentation of DDD and describe its architecture and basic functionality from a technical point of view. Key words: Software Engineering, Debugging Aids, Diagnostics, User Interfaces 1 Introduction A key part of the compile-edit-debug cycle is the debugging phase. A specialized deb..

    Practical domain-specific debuggers using the Moldable Debugger framework

    Get PDF
    International audienceUnderstanding the run-time behavior of software systems can be a challenging activity. Debuggers are an essential category of tools used for this purpose as they give developers direct access to the running systems. Nevertheless, traditional debuggers rely on generic mechanisms to introspect and interact with the running systems, while developers reason about and formulate domain-specific questions using concepts and abstractions from their application domains. This mismatch creates an abstraction gap between the debugging needs and the debugging support leading to an inefficient and error-prone debugging effort, as developers need to recover concrete domain concepts using generic mechanisms. To reduce this gap, and increase the efficiency of the debugging process, we propose a framework for developing domain-specific debuggers, called the Moldable Debugger, that enables debugging at the level of the application domain. The Moldable Debugger is adapted to a domain by creating and combining domain-specific debugging operations with domain-specific debugging views, and adapts itself to a domain by selecting, at run time, appropriate debugging operations and views. To ensure the proposed model has practical applicability (i.e., can be used in practice to build real debuggers), we discuss, from both a performance and usability point of view, three implementation strategies. We further motivate the need for domain-specific debugging, identify a set of key requirements and show how our approach improves debugging by adapting the debugger to several domains

    Visually querying object-oriented databases

    Get PDF
    Bibliography: pages 141-145.As database requirements increase, the ability to construct database queries efficiently becomes more important. The traditional means of querying a database is to write a textual query, such as writing in SQL to query a relational database. Visual query languages are an alternative means of querying a database; a visual query language can embody powerful query abstraction and user feedback techniques, thereby making them potentially easier to use. In this thesis, we develop a visual query system for ODMG-compliant object-oriented databases, called QUIVER. QUIVER has a comprehensive expressive power; apart from supporting data types such as sets, bags, arrays, lists, tuples, objects and relationships, it supports aggregate functions, methods and sub-queries. The language is also consistent, as constructs with similar functionality have similar visual representations. QUIVER uses the DOT layout engine to automatically layout a query; QUIVER queries are easily constructed, as the system does not constrain the spatial arrangement of query items. QUIVER also supports a query library, allowing queries to be saved, retrieved and shared among users. A substantial part of the design has been implemented using the ODMG-compliant database system Oâ‚‚, and the usability of the interface as well as the query language itself is presented. Visual queries are translated to OQL, the standard query language proposed by the ODMG, and query answers are presented using Oâ‚‚ Look. During the course of our investigation, we conducted a user evaluation to compare QUIVER and OQL. The results were extremely encouraging in favour of QUIVER
    corecore