Elena Sherman

Learn More
Coverage measures help to determine whether a test suite exercises a program adequately according to a testing criterion. Many existing measures, however, are defined over coverage domains that cannot be precisely calculated, rendering them of limited value in assessing the extent of testing activities. To exploit the use of such measures, we formalize(More)
Symbolic execution tools query constraint solvers for tasks such as determining the feasibility of program paths. Therefore, the effectiveness of such tools depends on their constraint solvers. Most modern constraint solvers for primitive types are efficient and accurate. However, research on constraint solvers for complex types, such as strings, is less(More)
The significant optical and size benefits of using a curved focal surface for imaging systems have been well studied yet never brought to market for lack of a high-quality, mass-producible, curved image sensor. In this work we demonstrate that commercial silicon CMOS image sensors can be thinned and formed into accurate, highly curved optical surfaces with(More)
OPINION STATEMENT Neuromyelitis optica and neuromyelitis optica spectrum disorder (NMO/NMOSD) is a rare but clinically aggressive demyelinating disease of the central nervous system (CNS) caused by antibodies against water channel protein aquaporin 4 (AQP4) in the astrocytic foot processes. Patients typically present with optic neuritis (ON) or(More)
Automated software verification and path-sensitive program analysis require the ability to distinguish executable program paths from those that are infeasible. To achieve this, program paths are encoded symbolically as a conjunction of constraints and submitted to an SMT solver; satisfiable path constraints are then analyzed further. In this paper, we study(More)
Developing methods for validating that a program works as intended is one of the key research areas in software engineering. Ideally a program P must exhibit its expected be-has developed various program analysis approaches to assess whether P |= φ. In general, these approaches can be partitioned into dynamic and static program analysis. The former execute(More)
Symbolic execution (SE) is a path-sensitive program analysis technique widely used in program verification. As it interprets a program path on symbolic inputs, SE generates a set of constraints called a path condition (PC). A PC describes possible concrete values that can traverse the same path during program execution. In order to determine whether such a(More)
Sodalite zeolitic imidazolate frameworks containing Co (ZIF-67) and Zn (ZIF-8) were synthesized at room temperature under aqueous conditions in 10 min. A trialkylamine deprotonated the 2-methylimidazole ligand and nucleated the frameworks. Furthermore, the ligand acted as a structure directing agent in place of an organic solvent.
A key challenge in implementing an efficient and precise data flow analysis is determining how to abstract the domain of values that a program variable can take on and how to update abstracted values to reflect program semantics. Such updates are performed by a transfer function and recent work by Thakur, Elder and Reps defined the bilateral algorithm for(More)
Fragile X syndrome (FXS) is a common genetic disorder in which temporal processing may be impaired. To our knowledge however, no studies have examined the neural basis of temporal discrimination in individuals with FXS using functional magnetic resonance imaging (fMRI). Ten girls with fragile X syndrome and ten developmental age-matched typically developing(More)