252049
MECA: an extensible, expressive system and language for statically checking security properties
This paper describes a system and annotation language, MECA, for checking security rules. MECA is expressive and designed for checking real systems. It provides a variety of practical constructs to effectively annotate large bodies of code. For example, it allows programmers to write programmatic annotators that automatically annotate large bodies of source code. As another example, it lets programmers use general predicates to determine if an annotation is applied; we have used this ability to easily handle kernel backdoors and other false-positive inducing constructs. Once code is annotated, MECA propagates annotations aggressively, allowing a single manual annotation to derive many additional annotations (e.g., over one hundred in our experiments) freeing programmers from the heavy manual effort required by most past systems.MECA is effective. Our most thorough case study was a user-pointer checker that used 75 annotations to check thousands of declarations in millions of lines of code in the Linux system. It found over forty errors, many of which were serious, while only having eight false positives.
1146793
An empirical study of operating systems errors
We present a study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels. Our approach differs from previous studies that consider errors found by manual inspection of logs, testing, and surveys because static analysis is applied uniformly to the entire kernel source, though our approach necessarily considers a less comprehensive variety of errors than previous studies. In addition, automation allows us to track errors over multiple versions of the kernel source to estimate how long errors remain in the system before they are fixed.We found that device drivers have error rates up to three to seven times higher than the rest of the kernel. We found that the largest quartile of functions have error rates two to six times higher than the smallest quartile. We found that the newest quartile of files have error rates up to twice that of the oldest quartile, which provides evidence that code "hardens" over time. Finally, we found that bugs remain in the Linux kernel an average of 1.8 years before being fixed.
352754
EXPLODE: a lightweight, general system for finding serious storage system errors
Storage systems such as file systems, databases, and RAID systems have a simple, basic contract: you give them data, they do not lose or corrupt it. Often they store the only copy, making its irrevocable loss almost arbitrarily bad. Unfortunately, their code is exceptionally hard to get right, since it must correctly recover from any crash at any program point, no matter how their state was smeared across volatile and persistent memory.
 This paper describes EXPLODE, a system that makes it easy to systematically check real storage systems for errors. It takes user-written, potentially system-specific checkers and uses them to drive a storage system into tricky corner cases, including crash recovery errors. EXPLODE uses a novel adaptation of ideas from model checking, a comprehensive, heavy-weight formal verification technique, that makes its checking more systematic (and hopefully more effective) than a pure testing approach while being just as lightweight.
 EXPLODE is effective. It found serious bugs in a broad range of real storage systems (without requiring source code): three version control systems, Berkeley DB, an NFS implementation, ten file systems, a RAID system, and the popular VMware GSX virtual machine. We found bugs in every system we checked, 36 bugs in total, typically with little effort.
14693913
Feature Subset Selection Using a Genetic Algorithm
Practical pattern-classification and knowledge-discovery problems require the selection of a subset of attributes or features to represent the patterns to be classified. The authors' approach uses a genetic algorithm to select such subsets, achieving multicriteria optimization in terms of generalization accuracy and costs associated with the features.
12547451
Data-Driven Processing in Sensor Networks
Wireless sensor networks are poised to enable continuous data collection on unprecedented scales, in terms of area location and size, and frequency. This is a great boon to elds such as ecological modeling. We are collaborating with researchers to build sophisticated temporal and spatial models of forest growth, utilizing a variety of measurements. There exists a crucial challenge in supporting this activity: network nodes have limited battery life, and radio communication is the dominant energy consumer. The straightforward solution of instructing all nodes to report their measurements as they are taken to a base station will quickly consume the network’s energy. On the other hand, the solution of building models for node behavior and substituting these in place of the actual measurements is in conict with the end goal of constructing models. To address this dilemma, we propose data-driven processing, the goal of which is to provide continuous data without continuous reporting, but with checks against the actual data. Our primary strategy for this is suppression, which uses in-network monitoring to limit the amount of communication to the base station. Suppression employs models for optimization of data collection, but not at the risk of correctness. We discuss techniques for designing data-driven collection, such as building suppression schemes and incorporating models into them. We then present and address some of the major challenges to making this approach practical, such as handling failure and avoiding the need to co-design the network application and communication layers.
14440555
AUTOBIB: automatic extraction of bibliographic information on the Web
The Web has greatly facilitated access to information. However, information presented in HTML is mainly intended to be browsed by humans, and the problem of automatically extracting such information remains an important and challenging task. In this work, we focus on building a system called AUTOBIB to automate extraction of bibliographic information on the Web. We use a combination of bootstrapping, statistical, and heuristic methods to achieve a high degree of automation. To set up extraction from a new site, we only need to provide a few lines of code specifying how to download pages containing bibliographic information. We do not need to be concerned with each site's presentation format, and the system can cope with changes in the presentation format without human intervention. AUTOBIB bootstraps itself with a small seed database of structured bibliographic records. For each bibliographic Web site, we identify segments within its pages that represent bibliographic records, using state-of-the-art record-boundary discovery techniques. Next, we find matches for some of these "raw records" in the seed database using a set of heuristics. These matches serve as a training set for a parser based on the hidden Markov model (HMM), which is then used to parse the rest of the raw records into structured records. We have found an effective HMM structure with special states that correspond to delimiters and HTML tags in raw records. Experiments demonstrate that for our application, this HMM structure achieves high success rates without the complexity of previously proposed structures.
6709166
Harmonium Models for Semantic Video Representation and Classification
Accurate and efficient video classification demands the fusion of multimodal information and the use of intermediate representations. Combining the two ideas into the same framework, we propose a probabilistic approach for video classification using intermediate semantic representations derived from the multi-modal features. Based on a class of bipartite undirected graphical models named harmonium, our approach represents video data as latent semantic topics derived by jointly modeling the transcript keywords and color-histogram features, and perform classification using these latent topics under a unified framework. We show satisfactory classification performance of our approach on a benchmark dataset, and some interesting insights of the data provided by this approach.
1590392
Inference and learning methodology of belief-rule-based expert system for pipeline leak detection
Belief rule based expert systems are an extension of traditional rule based systems and are capable of representing more complicated causal relationships using different types of information with uncertainties. This paper describes how the belief rule based expert systems can be trained and used for pipeline leak detection. Pipeline operations under different conditions are modelled by a belief rule base using expert knowledge, which is then trained and fine tuned using pipeline operating data, and validated by testing data. All training and testing data are collected and scaled from a real pipeline. The study demonstrates that the belief rule based system is flexible, can be adapted to represent complicated expert systems, and is a valid novel approach for pipeline leak detection.