Cogent
(Under the advisement of Dr. Bruce Childers and Dr. Daniel Mosse)
Publications
N/A
Links
- Cogent Documents
Jazz
(Under the advisement of Dr. Bruce Childers and Dr. Mary Lou Soffa)
My research involves dynamic software testing through the use of fast breakpoints. Current applications include structural testing such as branch coverage, with new applications on the way. More information can be found by going to these websites:
http://www.cs.pitt.edu/copa/int3.html
http://www.cs.pitt.edu/copa/eclipse.html
or by contacting me.
Publications
Demand-driven structural testing with dynamic instrumentation
Jonathan Misurda, James Clause, Juliya L. Reed, Bruce R. Childers, Mary Lou Soffa
ACM SIGSOFT Int'l. Conference on Software Engineering (ICSE'05), May 2005
Abstract
Producing reliable and robust software has become one of the most important software development concerns in recent years. Testing is a process by which software quality can be assured through the collection of information about software. While testing can improve software reliability, current tools typically are inflexible and have high overheads, making it challenging to test large software projects. In this paper, we describe a new scalable and flexible framework for testing programs with a novel demand-driven approach based on execution paths to implement testing coverage. This technique uses dynamic instrumentation on the binary code that can be inserted and removed on-the-fly to keep performance and memory overheads low. We describe and evaluate implementations of the framework for branch, node and def-use testing of Java programs. Experimental results for branch testing show that our approach has, on average, a 1.6 speed up over static instrumentation and also uses less memory.
The paper is available online from the CoCo web site.
Instrumentation in Software Dynamic Translators for Self-Managed Systems
Naveen Kumar, Jonathan Misurda, Bruce R. Childers, and Mary Lou Soffa
ACM SIGSOFT Workshop on Self-Managed Systems, during the ACM
SIGSOFT 2004 12th Int'l. Symp. on the Foundations of Software Engineering,
October 31-November 1, 2004.
Abstract
Self-managed software requires monitoring and code changes to an executing program. One technology that enables such self management is software dynamic translation (SDT), which allows a program's execution to be intercepted and controlled by a separate software layer. SDT has been used to build many useful applications, including software security checkers that check for code vulnerabilities, dynamic code optimizers, and program introspection tools. While these systems use program instrumentation, the instrumentation is usually tailored to a specific application and infrastructure. What is missing is a single scalable and flexible instrumentation framework that can be used in different self-managed SDT infrastructures. In this paper, we describe such a framework, called FIST. that can be used and targeted by different algorithms and tools to enable instrumentation applications that are portable across SDTs and machine platforms. Our interface supports multiple levels of granularity from source level constructs to the instruction and machine level. We describe and evaluate FIST's capabilities in the Strata system for the SPARC and the Jikes Research Virtual Machine for Java on the Intel x86.
The paper is not yet available online
FIST: A framework for instrumentation in software dynamic translators
N. Kumar, J. Misurda, B. Childers, and M. L. Soffa
Department of Computer Science, Technical Report TR-03-106, September 2003.
Abstract
Software dynamic translators (SDT) typically monitor, profile, and affect the execution of a program. Such systems have been used to build many useful applications, including dynamic code optimizers for binary machine code and Java bytecode, software security checkers, binary translators, code profilers and program introspection tools. While all of these systems use program instrumentation, the instrumentation is usually tailored to a specific application and infrastructure. What is missing is a single scalable and flexible instrumentation framework that can be used in different SDT infrastructures. In this paper, we describe such a new framework, called "FIST," that can be used and targeted by different algorithms and tools to enable instrumentation applications that are portable across SDTs and machine platforms. Our interface supports multiple levels of granularity from source level constructs to the instruction and machine level. We demonstrate FIST's flexibility and evaluate it in the Strata SDT system for the SPARC and the Jikes Research Virtual Machine for Java on the Intel x86. To show the framework.s scalability, we describe new instrumentation applications to prototype dynamic optimization techniques and apply software tests to Java programs.
Paper is available online from the COPA web site
SoftTest: A framework for software testing of Java programs
B. R. Childers, M. L. Soffa, J. Beaver, L. Ber, K. Cammarata, T. Kane, J. Litman, and J. Misurda
Eclipse Technology Exchange Workshop during the ACM SIGPLAN Conf.
on Object-Oriented Programming, Systems, Languages and Applications
(OOPSLA'03), Anaheim, California, October 27, 2003.
Abstract
Producing reliable and robust software has become one of the most important software development concerns in recent years. Testing is a process by which software quality can be assured through the collection of information about software. While testing can improve software reliability, current tools typically are inflexible and have high overheads, making it challenging to test large software projects. In this paper, we describe a new scalable and flexible framework, called SoftTest, for testing Java programs with a novel path-based approach to coverage testing. We describe an initial implementation of the framework for branch coverage testing and demonstrate the feasibility of our approach.
Paper is available online from the COPA web site.
Links
- Research project web pages:
- Continuous Compilation project
- Compilers, Programming Languages, and Architectures Group