Dave Binkley's Research Interests


Contents




Testing and Software Engineering

My present work on software engineering includes test-case generation using genetic algorithms, refactoring object-oriented code into aspect-oriented code, and empirical investigations of software. Random test-case generation can provide surprising coverage. However, remaining parts of the code can be rather difficult to find test data for. Using genetic algorithms is one promising approach to covering these hard-to-cover parts of the code. Aspect-oriented programming better modularizes code by separating out cross-cutting concerns. Given the base of object-oriented code, one area of refactoring tool research is on the conversion from OOP to AOP. Finally, empirical evidence is an important part of research understanding and of technology transfer. Several studies below present results from imperial studies. The work below also includes some older work on semantics-based SE tools, regression testing, and research conducted at NIST where we examined the influences researchers and developers in trying to provide technology transfer of research ideas to industry.

Relevant Publications




Information Retrieval in Software Engineering

The objective of my work with Information Retrieval (IR) is to improve software analysis tools by incorporating techniques from information retrieval. To achieve this objective requires processing the text from software artifacts using, first well-developed IR algorithms and then later newly developed IR-based algorithms. The initial focus of this work is on the identifiers contained in programs.

Relevant Publications




Program Slicing and Merging

My present work on program slicing concentrates on empirical studies of new slice-base analyzes and on generating a better understanding of the theory that underlies program slicing. The slice of a program with respect to a set of program elements S is a projection of the program that includes only program elements that might affect (either directly or transitively) the values of the variables used at members of S. Slicing allows one to find semantically meaningful decompositions of programs, where the decompositions consist of elements that are not textually contiguous.

Relevant Publications




Software for Safety Critical Systems (NIST)

My interest in safety critical systems has focused on the use of tools for producing high integrity software and in particular tools for producing safe C++ software. High integrity software is software that can and must be trusted to work dependably in critical applications (e.g., software in safety systems of nuclear power plants, medical devices, electronic banking, air traffic control, automated manufacturing, and some business systems).

Relevant Publications




Publications

Journal Publications

Book Chapters

Conference Publications

Reprinted in Collections

Other Publications and Reports

Patents


Students







00010 hits since January 05 2009