118 resultados para Entity-oriented Retrieval
Resumo:
Back-in-time debuggers are extremely useful tools for identifying the causes of bugs, as they allow us to inspect the past states of objects no longer present in the current execution stack. Unfortunately the "omniscient" approaches that try to remember all previous states are impractical because they either consume too much space or they are far too slow. Several approaches rely on heuristics to limit these penalties, but they ultimately end up throwing out too much relevant information. In this paper we propose a practical approach to back-in-time debugging that attempts to keep track of only the relevant past data. In contrast to other approaches, we keep object history information together with the regular objects in the application memory. Although seemingly counter-intuitive, this approach has the effect that past data that is not reachable from current application objects (and hence, no longer relevant) is automatically garbage collected. In this paper we describe the technical details of our approach, and we present benchmarks that demonstrate that memory consumption stays within practical bounds. Furthermore since our approach works at the virtual machine level, the performance penalty is significantly better than with other approaches.
Resumo:
Context-dependent behavior is becoming increasingly important for a wide range of application domains, from pervasive computing to common business applications. Unfortunately, mainstream programming languages do not provide mechanisms that enable software entities to adapt their behavior dynamically to the current execution context. This leads developers to adopt convoluted designs to achieve the necessary runtime flexibility. We propose a new programming technique called Context-oriented Programming (COP) which addresses this problem. COP treats context explicitly, and provides mechanisms to dynamically adapt behavior in reaction to changes in context, even after system deployment at runtime. In this paper we lay the foundations of COP, show how dynamic layer activation enables multi-dimensional dispatch, illustrate the application of COP by examples in several language extensions, and demonstrate that COP is largely independent of other commitments to programming style.
Resumo:
Mainstream IDEs generally rely on the static structure of a software project to support browsing and navigation. We propose HeatMaps, a simple but highly configurable technique to enrich the way an IDE displays the static structure of a software system with additional kinds of information. A heatmap highlights software artifacts according to various metric values, such as bright red or pale blue, to indicate their potential degree of interest. We present a prototype system that implements heatmaps, and we describe an initial study that assesses the degree to which different heatmaps effectively guide developers in navigating software.
Resumo:
The rapid growth of object-oriented development over the past twenty years has given rise to many object-oriented systems that are large, complex and hard to maintain. Object-Oriented Reengineering Patterns addresses the problem of understanding and reengineering such object-oriented legacy systems. This book collects and distills successful techniques in planning a reengineering project, reverse-engineering, problem detection, migration strategies and software redesign. The material in this book is presented as a set of "reengineering patterns" --- recurring solutions that experts apply while reengineering and maintaining object-oriented systems. The principles and techniques described in this book have been observed and validated in a number of industrial projects, and reflect best practice in object-oriented reengineering.
Resumo:
Vertical profiles of stratospheric water vapour measured by the Michelson Interferometer for Passive Atmospheric Sounding (MIPAS) with the full resolution mode between September 2002 and March 2004 and retrieved with the IMK/IAA scientific retrieval processor were compared to a number of independent measurements in order to estimate the bias and to validate the existing precision estimates of the MIPAS data. The estimated precision for MIPAS is 5 to 10% in the stratosphere, depending on altitude, latitude, and season. The independent instruments were: the Halogen Occultation Experiment (HALOE), the Atmospheric Chemistry Experiment Fourier Transform Spectrometer (ACE-FTS), the Improved Limb Atmospheric Spectrometer-II (ILAS-II), the Polar Ozone and Aerosol Measurement (POAM III) instrument, the Middle Atmospheric Water Vapour Radiometer (MIAWARA), the Michelson Interferometer for Passive Atmospheric Sounding, balloon-borne version (MIPAS-B), the Airborne Microwave Stratospheric Observing System (AMSOS), the Fluorescent Stratospheric Hygrometer for Balloon (FLASH-B), the NOAA frostpoint hygrometer, and the Fast In Situ Hygrometer (FISH). For the in-situ measurements and the ground based, air- and balloon borne remote sensing instruments, the measurements are restricted to central and northern Europe. The comparisons to satellite-borne instruments are predominantly at mid- to high latitudes on both hemispheres. In the stratosphere there is no clear indication of a bias in MIPAS data, because the independent measurements in some cases are drier and in some cases are moister than the MIPAS measurements. Compared to the infrared measurements of MIPAS, measurements in the ultraviolet and visible have a tendency to be high, whereas microwave measurements have a tendency to be low. The results of χ2-based precision validation are somewhat controversial among the comparison estimates. However, for comparison instruments whose error budget also includes errors due to uncertainties in spectrally interfering species and where good coincidences were found, the χ2 values found are in the expected range or even below. This suggests that there is no evidence of systematically underestimated MIPAS random errors.