Mehdi Mirakhorli earns NSF CAREER award to study software architecture design
Assistant professor aims to create more intuitive and error-free approaches to programming
A Rochester Institute of Technology professor has earned a prestigious National Science Foundation award to develop new technologies that can make software architecture design more intuitive, particularity for novice programmers and new learners.
Mehdi Mirakhorli, an assistant professor of software engineering, received an NSF Faculty Early Career Development (CAREER) award and grant for his five-year project, titled “Synthesizing Architectural Tactics.”
Mirakhorli aims to help programmers use the best building blocks when they construct foundations for their software projects. His vision is to someday have programmers express their design intent intuitively and generate error-free software programs.
“Software architecture design is notoriously difficult to learn and even harder to master,” said Mirakhorli, who was named Kodak Endowed Scholar in the Golisano College of Computing and Information Sciences. “To help fill this knowledge gap — and make it easier for programmers to put design first — I am working to change the culture of development.”
His solution is to change software design and programming from purely manual and exclusive tasks to one in which a programmer and an automated tactic synthesis tool collaborate. By working with the tool, programmers could generate defect-free software design and implementation that satisfies quality attributes scenarios that emphasize reliability, availability, security and performance.
“I’m essentially creating a new programming language that makes it easier for people to express design intent,” said Mirakhorli. “This tool would walk programmers through architecture step-by-step and tell them if they’re violating any design principles. This will lead to fewer errors and security problems.”
As part of the CAREER award project, Mirakhorli is looking at software design from a cognitive perspective. He meets with new students, novice programmers, and expert designers to learn how different people approach architecture problems. He is also developing artificial intelligence that can learn best practices from good software systems out in the world today.
“With this new tool, everyone can start using design thinking from the very beginning,” Mirakhorli said. “This will make our software secure by construction.”
The CAREER program is an NSF-wide activity that offers awards in support of junior faculty who exemplify the role of teacher-scholars through outstanding research, excellent education and the integration of education and research within the context of the mission of their organizations.