My research focuses on various approaches that help describe a program in some way or form. The research topics outlined below deal with different aspects of program analyses and creating descriptive summaries of their results.
- Combining static and dynamic analyses :
This is my primarily research topic, which aims to combine the information acquired from static and dynamic analyses and to represent it in terms of program coverage and verified properties. This research requires to utilize the wealth of knowledge ranging from dynamic symbolic execution to abstract interpretation. - Decision procedures :
The problem that interests me in this area is identifying theory fragments that are commonly take place during program analyses. Sometimes these fragments can be solved much faster by specialized decision procedures than by STM solvers that can handle whole theories of the fragments. My previous work deals with identifying a useful fragment of partial order theories and creating a decision procedure for it. My current work attempts to describe string constraints arising in Java programs. - Testing concurrent programs :
This research interest originated from my master's work where I came up with adequacy coverage criteria for concurrent programs. In order to understand better the current state of the field I started a survey on testing concurrent programs in one of my graduate courses. In particular, I was looking at adequacy criteria researchers use in testing concurrent programs. From what little I have read I found that the work in that area is diverse, repetitive and, sadly, fragmented. My ambitious goal is to extend the coursework to a full survey.
Publications:
- Sherman, E., Dwyer, M. B., and Elbaum, S. 2009. "Saturation-based testing of concurrent programs", In Proceedings of ESEC/FSE'09, pp. 53-62.
- Elena Sherman, Brady J. Garvin and Matthew B. Dwyer "A Slice-based Decision Procedure for Type-based Partial Orders", In Proceedings of IJCAR'2010. pp.156-170.