10 research outputs found

    Supporting library interface changes in open system software evolution

    No full text
    Thesis (Ph. D.)--University of Washington, 1996Software libraries provide leverage in large part because they are used by many applications. As Parnas, Lampson and others have noted, stable interfaces to libraries isolate the application from changes in the libraries. That is, as long as there is no change in a library's syntax or semantics, applications can use updated libraries simply by importing and linking the new version. However, libraries are indeed changed from time to time and the tedious work of adapting the application source to the library interface changes becomes a burden to multitudes of programmers. This dissertation introduces an approach and a tool set based on concrete syntax tree pattern matching intended to reduce these costs. Specifically, in our approach, a library maintainer annotates changed functions with rules that are used to generate tools that will update the applications that use the updated libraries. Thus, in exchange for a small added amount of work by the library maintainers, costs to each application maintainer can be reduced. We present the basic approach, describe the tools that support the approach, and discuss the strengths and limitations of the approach

    Semi-automatic Update of Applications in Response to Library Changes

    No full text
    Software libraries provide leverage in large part because they are used by many applications. As Parnas, Lampson and others have noted, stable interfaces to libraries isolate the application from changes in the libraries. That is, as long as there is no change in a library's syntax or semantics, applications can use updated libraries simply by importing and linking the new version. However, libraries are indeed changed from time to time and the tedious work of adapting the application source to the library interface changes becomes a burden to multitudes of programmers. This paper introduces an approach and a toolset intended to reduce these costs. Specifically, in our approach a library maintainer annotates changed functions with rules that are used to generate tools that will update the applications that use the updated libraries. Thus, in exchange for a small added amount of work by the library maintainers, costs to each application maintainer can be reduced. We present the basic ap..

    Java Performance Mysteries

    No full text
    While assessing software performance quality in the cloud, we noticed some significant performance variation of several Java applications. At a first glance, they looked like mysteries. To isolate the variation due to cloud, system and software configurations, we designed a set of experiments and collected set of software performance data. We analyzed the data to identify the sources of Java performance variation. Our experience in measuring Java performance may help attendees in selecting the trade-offs in software configurations and load testing tool configurations to obtain the software quality measurements they need. The contributions of this paper are (1) Observing Java performance mysteries in the cloud, (2) Identifying the sources of performance mysteries, and (3) Obtaining optimal and reproducible performance data

    Java Performance Mysteries

    No full text
    While assessing software performance quality in the cloud, we noticed some significant performance variation of several Java applications. At a first glance, they looked like mysteries. To isolate the variation due to cloud, system and software configurations, we designed a set of experiments and collected set of software performance data. We analyzed the data to identify the sources of Java performance variation. Our experience in measuring Java performance may help attendees in selecting the trade-offs in software configurations and load testing tool configurations to obtain the software quality measurements they need. The contributions of this paper are (1) Observing Java performance mysteries in the cloud, (2) Identifying the sources of performance mysteries, and (3) Obtaining optimal and reproducible performance data

    A Comparison of SPECjAppServer2002 and SPECjAppServer2004 Authors:

    No full text
    Multi-tier and mutli-threaded commercial workloads evaluating middle tier performance are playing an important role in influencing computer server designs. Many middle tier servers are actually J2EE application servers. The SPECjAppServer benchmarks from SPEC have been some of the standard J2EE application server evaluation workloads since 2001. This paper attempts to compare and contrast workload behaviors between SPECjAppServer2002 (the retiring version) and SPECjAppServer2004 (the future version) as characterized by performance measurements. We set up SPECjAppServer2002 and SPECjAppServer2004 on the same hardware and software configurations. We characterized the workload differences in three different layers – the system behavior, the execution profile, and the microarchitecture performance characteristics. Early data indicates that SPECjAppServer2004 appears to demand more memory, disks and network bandwidth, along with a higher demand on the Java virtual machine instead of the Java code. The behavior shift is consistent with the new features (e.g. HTTP servlets) introduced in the benchmark. 1

    Constructing a nonlinear model with neural networks for workload characterization

    No full text
    Workload characterization involves the understanding of the relationship between workload configurations and performance characteristics. To better assess the complexity of workload behavior, a model based approach is needed. Nevertheless, several configuration parameters and performance characteristics exhibit non-linear relationships that prohibit the development of an accurate application behavior model. In this paper, we propose a non-linear model based on an artificial neural network to explore such complex relationship. We achieved high accuracy and good predictability between configurations and performance characteristics when applying such a model to a 3-tier setup with response time restrictions. As shown by our work, a nonlinear model and neural networks can increase the understandings of complex multi-tiered workloads, which further provide useful insights for performance engineers to tune their workloads for improving performance.

    FLOW INJECTION MONITORING OF ENZYME REACTIONS ON SOLID SURFACES

    No full text
    Optosensing flow injection analysis may be used to monitor enzyme reactionson various types of solid surfaces, e.g., cellulose, Teflon or polypropylene. The surfaces may bein the form ofa pad, a membraneorparticles (in a column). While the enzyme maybe in solution, advantages accrueif it is attached to the solid surface. Traditional enzyme immobilization on surfaces involves chemical bonding reactions, but enzymes may be directly adsorbed onto certain hydrophobic surfaces. The principles of optosensing measurements are presented andapplicationsto cellulose pads and gas barrier membranes for enzyme measurements are reviewed. Recent novel methodsfor derivatizing enzymes for direct adsorption onto fluorocarbon membranesare presented. A new gas sensing (gas gap) membrane is described in which the membraneacts as the actual sensor and notjust a barrier, suitable for optosensing of monitoring enzyme reactions. Preliminary studies of the direct adsorption of urease enzyme onto the membrane are presented. Silica based C-18 particles in a microcolumn are used to adsorb an indicator and native urease enzymé. Optosensing measurementsof urea by measuring transmittance through the particles are presented
    corecore