As a researcher, I am fascinated by the challenge of advancing the high-level foundations of computer software (programming models, compilers, and runtimes) to productively exploit the latest advances in computing systems. While there has been a long tradition of research in this area since the dawn of computing, the rapid evolution of hardware has continuously fueled a need for new software technologies as old approaches quickly become obsolete. Current explorations of new hardware directions that go beyond Moore’s law have further amplified the motivation for this research direction.
Posts categorized under: Board Member Profiles
CRA is honored to have a prestigious group of computing researchers serve on its Board of Directors. These individuals volunteer their time to run CRA’s programs and committees and to develop and lead new initiatives. In this new series, CRA Board Member Profiles, we will highlight our board members and their contributions to the organization.
For the past 30 years I have had two passions – machine learning (ML) that makes a difference in the real world and increasing diversity in computer science (CS). For the first 26 years, I focused on my first passion and developed new approaches to ML though applications to remote sensing, neuroscience, digital libraries, astrophysics, content-based image retrieval of medical images, computational biology, chemistry, evidence-based medicine, detecting lesions in the MRIs of epilepsy patients, and predicting disease progression for MS patients. For the last four years, my focus has been on my second passion: increasing diversity in CS.
My research focuses on empowering individuals through computing technologies that more effectively match their knowledge, experience, abilities, and goals. The majority of my recent research has focused on accessibility-related issues. Working with my students, our research employs a broad definition of accessibility, seeking to empower individuals with disabilities as well as individuals who may experience challenges due to the environment in which they are using computing technologies.
What does it take to produce application code that performs as close as possible to a parallel architecture’s compute or memory peak performance? This question is one that programmers of high-performance architectures contemplate regularly since using such systems efficiently can solve problems faster, or solve larger or more complex problems.
This question fundamentally changes the approach to programming.
This year, CRA Board Chair Susan Davidson received the IEEE TCDE Impact Award for “expanding the reach of data engineering within scientific disciplines.” In this interview, Davidson reveals how her interest in bioinformatics came about and how her career led to this award. Two of her favorite problems have been data integration and data provenance.
I study how data and people interact. For more than a decade, I have been studying how to help humans access and manage information. While there is a lot of good work on human-computer interaction and on data visualization, much less work exists on “human-data interaction.” Why can anyone use Google to get information of interest while it is so difficult to get useful information from a structured database? The difference lies in the specificity of the request. A web search engine receives your request and tries to guess your intention. You know that it has a limited understanding of your need, and are happy to have it get you into “the zone,” from where you can explore for yourself. On the other hand, a traditional database query engine can give you complete answers to complex questions but requires that you precisely specify your query. If you make a small mistake, you are out of luck. Wouldn’t it be helpful to devise database query mechanisms that you can actually use and get reasonable results from even if you don’t ask it totally correctly? Complementarily, can the system help you ask a better question in the first place? Similar concerns also apply to the creation of a database, and helping users manage their data.
Over the 30 years since I began graduate school, my computer architecture research has explored many topics, but the ongoing theme has been attention to how technology and application trends and constraints influence hardware and system design, particularly at the hardware-software interface.
“What are computer users doing that is wasting their time?” This question guides my research. I construe computer systems research quite broadly; if I can build it, it’s a systems problem. This breadth has let me pursue questions in visualization as well as operating systems; machine learning and computer architecture; file systems, performance analysis, graph processing, databases, and numerous other areas. Some people might say I have a short attention span; I just like to claim that I have broad interests!
What value should a memory read return? The answer to this simple question is surprisingly complex for modern systems running parallel software. The memory consistency model, which governs this answer, is a fundamental part of the hardware-software interface, but has been one of the most challenging and contentious areas in parallel hardware and software specification. […]
The main focus of my recent research has been computer science education and the role computer science can play in defining and advancing its own education research. Learning computational principles and learning to code is hard, and teaching these subjects is even harder. For most computer science topics, we know very little about how different learners’ best learn; how to effectively teach the material to audiences with different abilities, backgrounds, and goals; and how to reliably assess learning.