The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Concurrency is a requirement for much modern software, but the implementation of multithreaded algorithms comes at the risk of errors such as data races.Programmers can prevent data races by documenting and obeying a locking discipline, which indicates which locks must be held in order to access which data.This paper introduces a formal semantics for locking specifications that gives a guarantee of...
A major issue of present age system on chip (SoC) designing is meeting of stringent time to market deadlines along with the reduction of various challenges faced during design. A significant strategy adopted in tackling such a problem is to procure different components or IPs (intellectual properties) of the SoC from different third party IP vendors (3PIPs). Such a technique targets independent working...
Runtime verification can be used to find bugs early, during software development, by monitoring test executions against formal specifications (specs). The quality of runtime verification depends on the quality of the specs. While previous research has produced many specs for the Java API, manually or through automatic mining, there has been no large-scale study of their bug-finding effectiveness....
Runtime monitoring can be used to verify, enforce and control the dynamic execution of a target program at runtime to detect property violations, enforce desired properties and actively correct the execution, respectively. However, the state-of-the-art study lacks an appropriate formal program semantics of runtime monitoring. In this paper, we propose a theory of runtime control at an appropriate...
A Dynamic Software Product Line (DSPL) is a widely used approach to handle variability at runtime, e.g., By activating or deactivating features to adapt the running configuration. With the emergence of highly configurable and evolvable systems, DSPLs have to cope with the evolution of their structural variability, i.e., The Feature Model (FM) used to derive the configuration. So far, little is known...
This paper presents X10-PM, a framework that provides APGAS-based programs with place migration support for flexible and efficient resource management, such as server consolidation and coarse-grained load balancing. X10-PM makes the first attempt to add migration support at the granularity of a place to the X10 programs, which is transparent to the application developers with the help of the X10-PM...
Near-Threshold Computing (NTC) is an effective technique to improve energy efficiency. However, single thread performance can suffer dramatically in NTC systems as cores must be run at low frequency to ensure proper operation. A potential way to solve this problem is to accelerate a core for a short period of time using dynamic voltage and frequency scaling (DVFS). This fast-mode execution option...
Runtime monitoring aims at analyzing the well-being of a system at run time in order to detect errors and steer the system towards a healthy behavior. Such monitoring is a complementary technique to other approaches for ensuring correctness, such as formal verification and testing. In time-triggered runtime monitoring, a monitor runs as a separate process in parallel with an application program under...
New high performance computing (HPC) applications recently have to face scalability over an increasing number of nodes and the programming of special accelerator hardware. Hybrid composition of large computing systems leads to a new dimension in complexity of software development. This paper presents a novel approach to gain insight into accelerator interaction and utilization without any changes...
The important, ambitious goals of autonomic management applications require complex, adaptable reasoning capabilities that prove extremely difficult to conceive and implement. An increasing number of Autonomic Computing projects have provided partial solutions and studies that brought significant contributions to the understanding of this domain. At the same time, little support is currently available...
Complex software, especially the embedded one, is composed of multiple collaborating subsystems that are possibly developed in multiple languages. To verify the behavior of such software, a run-time verification system must deal with multiple-language environments both in its specifications and in its generated runtime verification modules. In this paper, we present the E-Chaser runtime verification...
The asynchronous nature of communications in message-based systems like service-oriented architectures introduces two major issues: inability to detect lost and out-of-sequence messages, and unrealizability of some messaging protocols. We show that these problems are actually different manifestations of the same phenomenon: communicating peers ending up with divergent views of the message exchange...
Programmers hoping to exploit multi-core processors must split their applications into threads suitable for independent, concurrent execution. The lock-based concurrency of many existing languages is clumsy and error prone - a barrier to writing fast and correct concurrent code. The Actor model exudes concurrency - each entity in the model (an Actor) executes concurrently. Interaction is restricted...
In this paper, we present a new technique to improve the reliability of H-tree SRAM memories. This technique deals with the SRAM power-bus monitoring by using built-in current sensor (BICS) circuits that detect abnormal current dissipation in the memory power-bus. This abnormal current is the result of a single-event upset (SEU) in the memory and it is generated during the inversion of the state of...
Collecting data on user activities is one of the fundamental middleware services in Web-enabled systems. The collected data is analyzed and used by various high-level services, like user profiling, accounting, security auditing, and system health monitoring. In this paper, we present architecture and performance evaluation of usage tracking components for service-oriented middleware systems. Presented...
The paper describes the performance visualization tool (PROVE) of an integrated parallel program development environment called GRADE. All four major aspects of performance visualization (source code instrumentation, data acquisition, data analysis, visualization), are explained generally and in the context of PROVE.
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.