6 research outputs found

    DoodleDebug, Objects Should Sketch Themselves For Code Understanding

    Get PDF
    Developers override toString() and printOn: methods to allow objects to display themselves. This is done to track object state while debugging. Although very popular, the technique breaks down when displaying complex, multi-dimensional objects. We propose an approach in which objects have two-dimensional visualizations at various levels of granularity. This makes it easier to compose visualizations from object parts, and enables “semantic zooming ” of object visualizations while debugging. We have carried out an empirical study to understand how printOn: methods are used in practice, and we are developing DoodleDebug, a framework to support visualizable objects. 1

    Quality-Aware Tooling

    Get PDF
    Programming is a fascinating activity that can yield results capable of changing people lives by automating daily tasks or even completely reimagining how we perform certain activities. Such a great power comes with a handful of challenges, with software maintainability being one of them. Maintainability cannot be validated by executing the program but has to be assessed by analyzing the codebase. This tedious task can be also automated by the means of software development. Programs called static analyzers can process source code and try to detect suspicious patterns. While these programs were proven to be useful, there is also an evidence that they are not used in practice. In this dissertation we discuss the concept of quality-aware tooling —- an approach that seeks a promotion of static analysis by seamlessly integrating it into development tools. We describe our experience of applying quality-aware tooling on a core distribution of a development environment. Our main focus is to provide live quality feedback in the code editor, but we also integrate static analysis into other tools based on our code quality model. We analyzed the attitude of the developers towards the integrated static analysis and assessed the impact of the integration on the development ecosystem. As a result 90% of software developers find the live feedback useful, quality rules received an overhaul to better match the contemporary development practices, and some developers even experimented with a custom analysis implementations. We discovered that live feedback helped developers to avoid dangerous mistakes, saved time, and taught valuable concepts. But most importantly we changed the developers' attitude towards static analysis from viewing it as just another tool to seeing it as an integral part of their toolset

    Konfigurierbare Visualisierung komplexer Prozessmodelle

    Get PDF
    Die in heutigen Unternehmen durch Informationssysteme unterstützten Geschäftsprozesse werden zunehmend komplexer. Häufig existieren keine zentralen Steuereinheiten, sondern die Ausführung eines Prozesses ist auf viele heterogene Systeme verteilt. Ohne entsprechende Werkzeugunterstützung ist es daher schwer, einen Überblick über den aktuellen Ausführungsstatus solcher fragmentierter Prozesse zu bewahren. Eine Visualisierungskomponente, welche die Prozesse (inkl. relevanter Applikationsdaten) durchgängig darstellt, ist hier essenziell. Allerdings muss eine solche Komponente in der Lage sein, die Informationsbedürfnisse der verschiedenen Benutzergruppen adäquat zu befriedigen. Typischerweise gibt es hier unterschiedliche Anforderungen an eine Prozessvisualisierung im Hinblick auf Detaillierungsgrad, angezeigte Daten und graphische Informationsaufbereitung. Heutige Werkzeuge stellen Prozesse meist in exakt derselben Form dar, wie sie vom Prozessmodellierer ursprünglich gezeichnet worden sind. Eine flexible Anpassung der Darstellung an die Bedürfnisse des Betrachters ist nicht oder nur in sehr engen Grenzen möglich. Diese Arbeit stellt mit Proviado ein Rahmenwerk für die konfigurierbare Visualisierung komplexer Prozesse vor. Proviado ermöglicht sowohl eine strukturelle als auch eine graphische Anpassung der Prozessvisualisierung. Mit Hilfe eines mächtigen View-Mechanismus können Prozessmodelle strukturell an die Bedürfnisse ihrer Betrachter angepasst werden, indem Prozesselemente reduziert oder zu abstrakten Elementen aggregiert werden. Es werden View-Bildungsoperationen bereitgestellt, die in mehreren Schichten organisiert sind. Mittels Konfigurationsparametern, die die Eigenschaften der resultierenden Prozessmodelle beeinflussen, kann die View-Bildung flexibel konfiguriert und an die Bedürfnisse des jeweiligen Anwendungsfalls angepasst werden. Weitere Möglichkeiten zur graphischen Konfiguration einer Prozessvisualisierung bietet ein fortschrittlicher Template-Mechanismus. Zum einen können die für die Visualisierung zu verwendenden Symbole einfach definiert werden. Zum anderen erlaubt dieser Mechanismus eine flexible Zuordnung der Symbole einer Prozessnotation zu Prozesselementen. Diese Zuordnung kann entweder statisch (z.B. abhängig vom Prozesselementtyp) oder dynamisch, d.h. abhängig von Laufzeitdaten (z.B. Ausführungszustand), erfolgen. Diese beiden Basismechanismen werden ergänzt um Konzepte, die für die Realisierung einer umfassenden Visualisierungskomponente unverzichtbar sind. Dazu zählen unter anderem die Anbindung prozessunterstützender Systeme (d.h. die Integration von Modell- und Laufzeitdaten) sowie Konzepte für das automatische Layout dynamisch berechneter Prozessgraphen. Insgesamt können mit Proviado Prozessvisualisierungen strukturell und graphisch an die Bedürfnisse des jeweiligen Betrachters angepasst werden. Die entsprechenden Darstellungen bieten allen in die Prozesse involvierten Personen eine wesentlich bessere Unterstützung bei der täglichen Arbeit als derzeit verfügbare Systeme

    Goal-Directed Zoom

    No full text
    We introduce a novel zoom method, goal-directed zoom. In a goal-directed zoom system, users specify which representation of an object they wish to see. The system automatically zooms to the elevation at which that representation appears at appropriate detail. We have extended a database visualization environment to support end-user construction of visualizations that have goaldirected zoom. We present a sample visualization we have constructed using this environment. Keywords Clutter, information density, semantic zoom, visualization INTRODUCTION Visualization systems commonly represent objects in a two-dimensional canvas over which the user may pan and zoom. In such systems, zooming changes the user's distance from the canvas, also known as the perceived elevation. This spatial metaphor implies a camera-like model in which elevation determines (1) the proportion of the canvas visible in the display and (2) the proportion of display space occupied by the visible objects (i.e., th..

    Goal-directed zoom

    No full text
    We introduce a novel zoom method, goal-directed zoom. In a goal-directed zoom system, users specify which representation of an object they wish to see. The system automatically zooms to the elevation at which that representation appears at appropriate detail. We have extended a database visualization environment to support end-user construction of visualizations that have goaldirected zoom. We present a sample visualization we have constructed using this environment
    corecore