11229701
Precise dynamic slicing using execution-summary
Dynamic slicing helps to identify the program statements that affect a given criterion-point. Existing precise slicing algorithms, like the Limited-Preprocessing (LP) algorithm by Zhang et al. (ICSE 2003), operate on stored execution trace, requires much time and space if the trace is large even if the source program is small. In this paper we present a forward dynamic slicing algorithm for structured programs that reduces the overhead of slicing in the long run. For long running programs that iterates heavily on some loop, our algorithm is expected to perform faster by re-using the already computed dependences in the loop.
39741624
An Efficient Technique for Dynamic Slicing of Concurrent Java Programs
Program slice has many applications such as program debugging, testing, maintenance and complexity measurement. We propose a new dynamic program slicing technique for concurrent Java programs that is more efficient than the related algorithms. We introduce the notion of Concurrent Program Dependence Graph (CPDG). Our algorithm uses CPDG as the intermediate representation and is based on marking and unmarking the edges in the CPDG as and when the dependencies arise and cease during run-time. Our approach eliminates the use of trace files and is more efficient than the existing algorithms.
24684227
Adaptive Control of Anytime Algorithm Parameters
5790802
Object-oriented symbol management in syntax-directed compiler systems
Each symbol in a source program has a series of attributes that govern the operations performed on it. In this paper, we explore object-oriented techniques for representing the attributes of symbols and translating the operations performed on them. This approach is shown superior in memory and run-time speed to the procedural style traditionally used for writing compilers. We demonstrate object-oriented symbol management in a compiler for an arithmetic subset of C. We have used C++ --- a single-dispatching language --- to implement the same, but we emphasize the need for multiple dispatching to develop programs in a heavily-object-oriented style.
537233
Evolutionary Multimodal Optimization Revisited
We revisit a class of multimodal function optimizations using evolutionary algorithms reformulated into a multiobjective framework where previous implementations have needed niching/sharing to ensure diversity. In this paper, we use a steady-state multiobjective algorithm which preserves diversity without niching to produce diverse sampling of the Pareto-front with significantly lower computational effort.
6342150
Frame based fair multiprocessor scheduler: a fast fair algorithm for real-time embedded systems
This paper presents frame based fair multiprocessor scheduler (FBFMS) which provides accurate real-time proportional fair scheduling for a set of dynamic tasks on a symmetric multiprocessor environment with O(1) scheduling overhead. FBFMS meets these seemingly contradictory goals by applying the benefits of virtual time round-robin scheduling mechanism along with a frame based scheduling approach. Simulation results show that the algorithm provides 2.5 to 26 times speedup (over O(lg n) complexity schedulers) with distortion in fairness less than 1% in most cases, and less than 15% in the worst case.
13974246
Decentralized failure diagnosis of discrete event systems
By decentralized diagnosis we mean diagnosis using multiple diagnosers, each possessing its own set of sensors, without involving any communication among diagnosers or to any coordinators. The notion of decentralized diagnosis is formalized by introducing the notion of codiagnosability that requires that a failure be detected by one of the diagnosers within a bounded delay. Algorithms of complexity polynomial in the size of the system and the nonfault specification are provided for: 1) testing codiagnosability, 2) computing the bound in delay of diagnosis, 3) offline synthesis of individual diagnosers, and 4) online diagnosis using them. The notion of codiagnosability and the above algorithms are initially presented in a setting of a specification language (violation of which represents a fault) and are later specialized to the case where faults are modeled as the occurrences of certain events. The notion of strong codiagnosability is also introduced to capture the ability of being certain about both the failure as well as the nonfailure conditions in a system within a bounded delay.
6817196
Design of Adaptive Overlays for Multi-scale Communication in Sensor Networks
In wireless sensor networks, energy and communication bandwidth are precious resources. Traditionally, layering has been used as a design principle for network stacks; hence routing protocols assume no knowledge of the application behavior in the sensor node. In resource-constrained sensor-nodes, there is simultaneously a need and an opportunity to optimize the protocol to match the application. In this paper, we design a network architecture that efficiently supports multi-scale communication and collaboration among sensors. The architecture complements the previously proposed Abstract Regions architecture for local communication and collaboration. We design a self-organizing hierarchical overlay that scales to a large number of sensors and enables multi-resolution collaboration. We design effective Network Programming Interfaces to simplify the development of applications on top of the architecture; these interfaces are efficiently implemented in the network layer. The overlay hierarchy can adapt to match the collaboration requirements of the application and data both temporally and spatially. We present an initial evaluation of our design under simulation to show that it leads to reduced communication overhead, thereby saving energy. We are currently building our architecture in the TinyOS environment to demonstrate its effectiveness.
960483
Selecting devices for aggregation
As intelligent devices become affordable and wireless infrastructure becomes pervasive, the potential to combine, or aggregate, device functionality to provide a user with a better experience grows. Often, there will be multiple devices providing similar functionality that the user will have to choose from for the aggregation. We present the design and prototype implementation of a system for automatic selection of devices for aggregation in a dynamic environment. It allows a user to express trade-offs between the quality of device attributes, user distraction, and aggregation stability. This approach enables a user to have a richer experience without having to constantly worry about the device and the environment details.
2138355
Specification of secure distributed collaboration systems
The focus of this paper is on a specification model for defining security and coordination policies for distributed collaboration and workflow systems. This work is motivated by the objective to build distributed collaboration systems from their high level specifications. We identify here unique requirements for secure collaboration, specifically role admission and activation constraints, separation of duties, dynamic access control, and a model for multiuser participation in a role. We present a role-based model for specifying coordination and dynamic security requirements in collaboration systems. It also supports hierarchical structuring of a large collaboration environment using the concept of activities, which define a naming scope and a protection domain to specify security and coordination policies. We have implemented this specification model in XML and used it to construct the runtime environments for distributed collaboration systems using a policy based middleware.
7841699
Dynamic data fusion for future sensor networks
DFuse is an architectural framework for dynamic application-specified data fusion in sensor networks. It bridges an important abstraction gap for developing advanced fusion applications that takes into account the dynamic nature of applications and sensor networks. Elements of the DFuse architecture include a fusion API, a distributed role assignment algorithm that dynamically adapts the placement of the application task graph on the network, and an abstraction migration facility that aids such dynamic role assignment. Experimental evaluations show that the API has low overhead, and simulation results show that the role assignment algorithm significantly increases the network lifetime over static placement.