Results 1 -
5 of
5
Extended Static Checking for Java
, 2002
"... Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming ..."
Abstract
-
Cited by 455 (21 self)
- Add to MetaCart
Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theoremproving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs.
Flexible Instrumentation for Software Dynamic Translation
"... Software dynamic translators have been used for many purposes, such as dynamic code optimization, profiling, and security. Many of these applications need to instrument a program’s binary code to gather run-time information about the program. Such instrumentation is varied, with different software d ..."
Abstract
-
Cited by 11 (9 self)
- Add to MetaCart
Software dynamic translators have been used for many purposes, such as dynamic code optimization, profiling, and security. Many of these applications need to instrument a program’s binary code to gather run-time information about the program. Such instrumentation is varied, with different software dynamic translator applications requiring different kinds of information. Hence, there is a need for a flexible mechanism for information gathering and instrumentation in software dynamic translators. In this paper, we describe our approach to providing flexible instrumentation. We also experimentally evaluate our approach and investigate its overhead and demonstrate its flexibility for different software dynamic translation systems.
Annotation Inference for Safety Certification of Automatically Generated Code
"... Automated code generation is an enabling technology for ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
Automated code generation is an enabling technology for
Eliciting User Expectations for Data Behavior
, 2003
"... People expect software that they use for everyday purposes to be dependable enough for their needs. Usually, they can tolerate some failures, provided they can notice and recover from problems. Many dependability enhancement techniques rely on failure detection. Detection requires a model of proper ..."
Abstract
- Add to MetaCart
People expect software that they use for everyday purposes to be dependable enough for their needs. Usually, they can tolerate some failures, provided they can notice and recover from problems. Many dependability enhancement techniques rely on failure detection. Detection requires a model of proper behavior, preferably in the form of specifications. However, the specifications of everyday software are often incomplete and imprecise.
Unifying FSM-inference algorithms through declarative specification
"... Abstract—Logging system behavior is a staple development practice. Numerous powerful model inference algorithms have been proposed to aid developers in log analysis and system understanding. Unfortunately, existing algorithms are difficult to understand, extend, and compare. This paper presents Inva ..."
Abstract
- Add to MetaCart
Abstract—Logging system behavior is a staple development practice. Numerous powerful model inference algorithms have been proposed to aid developers in log analysis and system understanding. Unfortunately, existing algorithms are difficult to understand, extend, and compare. This paper presents InvariMint, an approach to specify model inference algorithms declaratively. We apply InvariMint to two model inference algorithms and present evaluation results to illustrate that InvariMint (1) leads to new fundamental insights and better understanding of existing algorithms, (2) simplifies creation of new algorithms, including hybrids that extend existing algorithms, and (3) makes it easy to compare and contrast previously published algorithms. Finally, InvariMint’s declarative approach can outperform equivalent procedural algorithms. I.

