Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where David Melski is active.

Publication


Featured researches published by David Melski.


verified software: theories, tools, experiments | 2005

WYSINWYX: What You See Is Not What You eXecute

Gogul Balakrishnan; Thomas W. Reps; David Melski; Tim Teitelbaum

What You See Is Not What You eXecute: computers do not execute source-code programs; they execute machine-code programs that are generated from source code. Not only can the WYSINWYX phenomenon create a mismatch between what a programmer intends and what is actually executed by the processor, it can cause analyses that are performed on source code to fail to detect certain bugs and vulnerabilities. This issue arises regardless of whether ones favorite approach to assuring that programs behave as desired is based on theorem proving, model checking, or abstract interpretation.


Science of Computer Programming | 2005

Weighted pushdown systems and their application to interprocedural dataflow analysis

Thomas W. Reps; Stefan Schwoon; Somesh Jha; David Melski

Recently, pushdown systems (PDSs) have been extended to weighted PDSs, in which each transition is labeled with a value, and the goal is to determine the meet-over-all-paths value (for paths that meet a certain criterion). This paper shows how weighted PDSs yield new algorithms for certain classes of interprocedural dataflow-analysis problems.


Theoretical Computer Science | 2000

Interconvertibility of a class of set constraints and context-free-language reachability

David Melski; Thomas W. Reps

Abstract We show the interconvertibility of context-free-language reachability problems and a class of set-constraint problems: given a context-free-language reachability problem, we show how to construct a set-constraint problem whose answer gives a solution to the reachability problem; given a set-constraint problem, we show how to construct a context-free-language reachability problem whose answer gives a solution to the set-constraint problem. The interconvertibility of these two formalisms offers a conceptual advantage akin to the advantage gained from the interconvertibility of finite-state automata and regular expressions in formal language theory, namely, a problem can be formulated in whichever formalism is most natural. It also offers some insight into the “ O (n 3 ) bottleneck” for different types of program-analysis problems and allows results previously obtained for context-free-language reachability problems to be applied to set-constraint problems and vice versa.


compiler construction | 1999

Interprocedural Path Profiling

David Melski; Thomas W. Reps

In path profiling, a program is instrumented with code that counts the number of times particular path fragments of the program are executed. This paper extends the intraprocedural path-profiling technique of Ball and Larus to collect information about interprocedural paths (i.e., paths that may cross procedure boundaries).


computer aided verification | 2005

Model checking x86 executables with codesurfer/x86 and WPDS++

Gogul Balakrishnan; Thomas W. Reps; Nicholas Kidd; Akash Lal; Junghee Lim; David Melski; Radu Gruian; Suan Hsi Yong; Chi-Hua Chen; Tim Teitelbaum

This paper presents a toolset for model checking x86 executables. The members of the toolset are CodeSurfer/x86, WPDS++, and the Path Inspector. CodeSurfer/x86 is used to extract a model from an executable in the form of a weighted pushdown system. WPDS++ is a library for answering generalized reachability queries on weighted pushdown systems. The Path Inspector is a software model checker built on top of CodeSurfer and WPDS++ that supports safety queries about the programs possible control configurations.


compiler construction | 2003

The interprocedural express-lane transformation

David Melski; Thomas W. Reps

The express-lane transformation isolates and duplicates frequently executed program paths, aiming for better data-flow facts along the duplicated paths. An express-lane p is a copy of a frequently executed program path such that p has only one entry point at its beginning; p may have branches back to the original code, but the original code never branches into p. Classical data-flow analysis is likely to find sharper data-flow facts along an express-lane, because there are no join points. This paper describes several variants of interprocedural express-lane transformations; these duplicate hot interprocedural paths, i.e., paths that may cross procedure boundaries. The paper also reports results from an experimental study of the effects of the express-lane transformation on interprocedural range analysis.


2009 Cybersecurity Applications & Technology Conference for Homeland Security | 2009

Static Analysis of Software Executables

David Melski; Tim Teitelbaum; Thomas W. Reps

In recent years, there has been a growing need for tools that an analyst can use to understand the workings of COTS software as well as malicious code. Static analysis provides techniques that can help with such problems; however, there are several obstacles that must be overcome, including the absence of source code and the difficulty of analyzing machine code. We have created CodeSurfer/x86, a prototype tool for browsing, inspecting, and analyzing x86 executables. From an x86 executable, CodeSurfer/x86 recovers intermediate representations that are similar to what would be created by a compiler for a program written in a high-level language. These facilities provide a platform for the development of additional tools for analyzing the security properties of executables. CodeSurfer/x86 analyses are automatically generated from a formal specification of the x86 instruction semantics. This makes the analyses more accurate and robust, and makes it easier to retarget the tool to analyze executables for other platforms besides x86.


Synthesis Lectures on Information Security, Privacy, and Trust | 2010

Analysis Techniques for Information Security

Somesh Jha; Anupam Datta; Ninghui Li; David Melski; Thomas W. Reps

Increasingly our critical infrastructures are reliant on computers. We see examples of such infrastructures in several domains, including medical, power, telecommunications, and finance. Although automation has advantages, increased reliance on computers exposes our critical infrastructures to a wider variety and higher likelihood of accidental failures and malicious attacks. Disruption of services caused by such undesired events can have catastrophic effects, such as disruption of essential services and huge financial losses. The increased reliance of critical services on our cyberinfrastructure and the dire consequences of security breaches have highlighted the importance of information security. Authorization, security protocols, and software security are three central areas in security in which there have been significant advances in developing systematic foundations and analysis methods that work for practical systems. This book provides an introduction to this work, covering representative approaches, illustrated by examples, and providing pointers to additional work in the area. Table of Contents: Introduction / Foundations / Detecting Buffer Overruns Using Static Analysis / Analyzing Security Policies / Analyzing Security Protocols


partial evaluation and semantic-based program manipulation | 1997

Interconvertbility of set constraints and context-free language reachability

David Melski; Thomas W. Reps


Archive | 2005

WPDS++: A C++ library for weighted pushdown systems

Nicholas Kidd; Thomas W. Reps; David Melski; Akash Lal

Collaboration


Dive into the David Melski's collaboration.

Top Co-Authors

Avatar

Thomas W. Reps

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nicholas Kidd

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Somesh Jha

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Ben Liblit

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

David Bingham Brown

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar

Junghee Lim

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge