56 research outputs found

    Similarity in Programs

    Get PDF
    An overview of the concept of program similarity is presented. It divides similarity into two types - syntactic and semantic - and provides a review of eight categories of methods that may be used to measure program similarity. A summary of some applications of these methods is included. The paper is intended to be a starting point for a more comprehensive analysis of the subject of similarity in programs, which is critical to understand if progress is to be made in fields such as clone detection

    Tool support for continuous quality controlling

    Get PDF
    Over time, software systems suffer gradual quality decay and therefore costs can rise if organizations fail to take proactive countermeasures. Quality control is the first step to avoiding this cost trap. Continuous quality assessments help users identify quality problems early, when their removal is still inexpensive; they also aid decision making by providing an integrated view of a software system's current status. As a side effect, continuous and timely feedback helps developers and maintenance personnel improve their skills and thereby decreases the likelihood of future quality defects. To make regular quality control feasible, it must be highly automated, and assessment results must be presented in an aggregated manner to avoid overwhelming users with data. This article offers an overview of tools that aim to address these issues. The authors also discuss their own flexible, open-source toolkit, which supports the creation of dashboards for quality control

    0907_SHM_HealthChecks-Submitted

    No full text
    Abstract-More than two thirds of the annual software budget of large-scale organizations dealing with complex software systems is spent on the perfection, correction, and operation of existing software systems. A significant part of these running costs could be saved if the software systems that need to be constantly extended, maintained and operated were in a better technical condition. This paper proposes Software Health-Checks as a method to assess the technical condition of existing software systems and to deduce measures for improving the health of software in a structured manner. Since 2006 numerous commercial software systems with a total of 30 MLOC 1 , implemented in various technologies, were already checked with this method. The actions suggested as a result of these Software 'Health-Checks', repeatedly yielded dramatic performance improvements, risk reductions and cost savings between 30% and 80%

    Dynamic component and code co-evolution

    Full text link

    Dynamic Component and Code Co-Evolution

    No full text
    This papers presents a radically new approach for the dynamic evolution of long-lived systems that can not easily be shut-down for maintenance and restarted afterwards. Conventionally, the source code of a software system is viewed as a static entity and separated from the system at runtime. This seems intuitive as a single piece of code is usually associated with multiple components at runtime. Obviously, this viewpoint is a major obstacle for dynamic evolution during runtime as it raises di#cult consistency issues concerning the relationship between static code and the dynamically executing system. The evolution approach presented in this paper takes a completely di#erent direction by seamlessly integrating static code with dynamic execution. By this and sound concepts for component categories, incompleteness and dynamic completion, software can be generalized and adapted during runtime in a highly flexible way

    Thread segment stacks

    No full text
    Abstract This paper presents enhanced memory management concepts and their implementation providing better support for multi threading. The virtual address space of the multi threaded process is dynamically partitioned by a dynamic set of cooperating managers. Special thoughts are given to detect and solve possible thread stack and heap overows and collisions. Both stacks and heaps associated with threads are organized non-contiguously with linear segments to fully exploit possibly large virtual address spaces. Crucial for the e ciency of this approach are modi cations of the compiler and parts of the runtime system. The proposed solutions are implemented an evaluated on the SUN Sparc V9architecture. Keywords: memory management operating systems, multi threading, 1 New Features and Flaws Multi-tasking operating systems (OS) usually provide private address spaces for processes. In order to share data amongst processes, IPC interfaces such as shared mappings, signals, or sockets along with error prone techniques like pointer swizzling have to be used. Of course, tight coupling of processes needed for cooperative parallel algorithms can not be achieved this way without considerable overhead. By employing a single virtual address space (VA) for all processes this and other problems can be evaded. Each memory object is uniformly iden-0 This project is sponsored by the DFG (German Researc

    The Portable Assembly Language C--: A Critical Review and a GCC Based Prototype

    No full text
    Many research activities deal directly or indirectly with the design and implementation of high level language concepts. These concepts are developed not only in the context of programming languages, but also in other fields such as distributed operating systems. The prope
    • …
    corecore