Click the link that follows for more news about our historic CS With Impact expansion.
Asked about her heroes in life, she says, “It’s kind of a cliché but also not – I’m inspired by the many women in science and engineering who have paved the way, shown the path forward.” As another example, she cites one of her mentors at University of Washington, Professor Jim Morrow, for his commitment to undergraduate students and his ability to create opportunities for them, which she hopes to emulate. But her last pick is more surprising: “John Darnielle, lead singer of The Mountain Goats, for this theme of perseverance he’s had.”
For her, Milda says, perseverance is the idea that if someone has a personal struggle in their life, whatever the struggle is, it doesn’t make them weak. “Perseverance is very relevant in academia,” she says. “Graduate school, for instance, has fewer constraints – that can be freeing, but also paralyzing, and not always being able to make linear progress can be hard for people, me included…I want my students to know that having setbacks doesn’t make you less successful.”
Milda’s journey into computer science began in junior high school with the legendary TI-84 graphing calculator. Already very interested in math, she started reading a book about pi shared by a classmate (“my friends were pretty nerdy, too”) and saw an opportunity for programming in TI-BASIC: “Computing pi, seeing what kind of margin I could get, how close – it was really fun to be able to do that myself.”
Direct-admitted into a Computer Engineering major at University of Washington, Milda took a Java programming course in her first quarter of classes, struggled occasionally, but then stuck with it. “And eventually had a great time,” she says. One favorite personal project from those years was creating a basic grapher that would plot 3D functions: “I really enjoyed the accessibility, that I could do this without needing extra materials or anything like that.”
A degree in mathematics was next. “After that, when I came to Carnegie Mellon,” Milda says, “I chose my advisor, Phil Koopman, because he’d taught embedded systems, but his research interests had evolved into software safety and testing.” The more she read literature in that area, the more she liked it, and work on Ballista, a software robustness testing project from the 1990s, proved fascinating, particularly with how it might translate to robotics. Work at the National Robotics Engineering Center followed, providing a wealth of experience with engineering systems. “I stuck with them for my postdoc, and at that point I was interested in branching out a little bit: not just testing safety but formally proving it.”
In a very small nutshell, Milda says, her research is primarily about making robotic software safety more approachable: “To contextualize, there’s a class my advisor teaches that I was heavily involved in designing, about software engineering for embedded systems. When someone like NASA creates safety-critical software for systems that have the potential to cause injury or death or damage the environment, they have very formalized, expensive methodologies. That doesn’t translate to a startup that can’t spend hundreds of thousands of dollars on software and has to iterate quickly, so I’m interested in creating safer code by integrating testing into software more easily.”
The safety of autonomous vehicles was making news again on the morning of our conversation, so we ask Milda about whether consumers are wise to be skeptical about how their IoT devices might be hacked, their robots might malfunction, their self-driving cars might crash. “One thing I’d say,” she notes, “is that when we come from a safety-critical lens, we find a lot of ways software can go wrong, so we should spend a lot of ways making sure software goes right. That’s a huge challenge, and extremely important. I hope people stay concerned about these issues, because it pressures creators to think about safety in a serious way.”
Taking safety seriously, Milda believes, requires a considerable change in mindset for our field. “To phrase things in terms of both my research and teaching,” she says, “the big thing I believe about building software is that the market and industry often incentivize hacking together cool solutions to problems. It may be less glamorous to focus on testing, process, and documentation, but there may be huge safety implications if we don’t. The cool thing about teaching is being able to share those concepts with undergrads who are just starting out. If I can show them what a safety case looks like, tracing a product from its specification to a suite of tests that are sufficient for it, it’s an opportunity to talk about software as a serious engineering practice.”
Brown seemed like a good fit for that from the start. “Part of it was definitely the welcome from faculty and the super-enthusiastic students,” she says. “I really clicked with the faculty members who interviewed me: their teaching philosophies, the great conversations with them about research. It’s going to be incredible to try to learn and grow as a teacher, and I knew these were people I’d get along with as colleagues...Being able to work with people like Kathi [Fisler] and Shriram [Krishnamurthi] is a huge opportunity, and when I talked to Stefanie and George about the robotics lab, I could see how welcoming it was, how it was a great place for people to interact.”
Her recurring focus on conversations, Milda believes, is because they really matter. “One thing that interests me is helping build communities of people who can talk to each other. I was the leader of CMU’s LGBTQ grad student group and my department’s grad student organization, and creating conversations was some of our most important work.”
And is part of that about helping other people persevere? “And to feel less alone,” she says. “If I could continue that work at Brown, mentoring and creating opportunities for students, that would be really meaningful for me.”
For more information, click the link that follows to contact Brown CS Communication Outreach Specialist Jesse C. Polhemus.