Software Archipelagos as Impediments to Scientific Progress
Nenad Medvidovic is Director Emeritus of the Center for Systems and Software Engineering and is a Professor in the Computer Science Department at the University of Southern California. He is a faculty associate of the Institute for Software Research (ISR) at the University of California, Irvine. Medvidovic received his Ph.D. in 1999 from the Department of Information and Computer Science at UC Irvine. He also received an M.S. in Information and Computer Science in 1995 from UC Irvine, and a B.S. in Computer Science summa cum laude in 1992 from the Computer Science and Engineering Department at Arizona State University. Medvidovic is a recipient of the National Science Foundation CAREER (2000) and ITR (2003) awards, as well as the Okawa Foundation Research Grant (2005), IBM Real-Time Initiative Faculty Award (2007), Orange County Engineering Council's Distinguished Engineering Merit Award (2018), and ACM SIGSOFT's Distinguished Service Award (2020). Medvidovic's paper titled "Architecture-Based Runtime Software Evolution," which appeared in the 1998 International Conference on Software Engineering (ICSE 1998), was named in 2008 that conference's Most Influential Paper. His paper titled "An Architectural Style for Solving Computationally Intensive Problems on Large Networks," which appeared in the 2007 Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2007), was named in 2020 that Symposium's Most Influential Paper. His paper titled "Continuous Analysis of Collaborative Design" received the Best Paper Award at the 2017 IEEE International Conference on Software Architecture (ICSA 2017), and his paper titled "An Empirical Study of Architectural Decay in Open-Source Software" received the Best Paper Award at ICSA 2019. Medvidovic is an ACM Distinguished Scientist and an IEEE Fellow.
Medvidovic's research interests are in the area of architecture-based software development. His work focuses on software architecture modeling and analysis; middleware facilities for architectural implementation; product-line architectures; architectural styles; and architecture-level support for software development in highly distributed, mobile, resource constrained, and embedded computing environments.