Lab Overview

The Software Architecture Research Group is a collaborative team in the Department of Computer Science at the University of Southern California. The group is headed by Dr. Nenad Medvidović, a Professor in the CS Department at USC, a faculty member of the USC Center for Systems and Software Engineering (CSSE), and a faculty associate of the Institute for Software Research (ISR) at the University of California, Irvine.

The group focuses on cutting-edge research in vulnerability detection, DNN modularization, service decomposition, LLM-based code generation, sustainable architecture, out-of-distribution detection, architectural modeling and analysis, component-based development, architecture-based development for distributed, heterogeneous, and resource-constrained devices, architecture-based self-adaptation, and event-based middleware technologies.

Our group members have made important research contributions in a wide variety of architecture-related topics, publishing research papers in top academic conferences and journals with topics ranging from theory to systems.

Research Mission

Our mission is to advance the field of software architecture through rigorous research and innovative thinking. We are committed to:

  • Vulnerablity Detection: Developing deep learning-based techniques for vulnerability detection.
  • Modularization of Deep Neural Networks: Developing techniques to decompose DNNs into modules for reusability, maintainability, and evolvability.
  • Service Decomposition: Developing machine learning techniques to recommend appropriately sized services.
  • LLM-based Code Generation: Developing techniques for improving LLM generated code and designing evaluation strategies to assess code quality.
  • Architectural Modeling and Analysis: Developing techniques and tools for modeling and analyzing software architectures to ensure quality attributes and system properties.
  • Component-Based Development: Exploring methods for building software systems from reusable components and understanding component interactions.
  • Distributed and Heterogeneous Systems: Addressing challenges in developing software architectures for distributed, heterogeneous, and resource-constrained devices.
  • Self-Adaptive Architectures: Researching architectures that can adapt to changing conditions and requirements autonomously.
  • Event-Based Middleware: Investigating event-based middleware technologies that support architectural styles and patterns.

Research Focus

Our research group focuses on fundamental and applied research in software architecture. Our work spans from theory to systems, with contributions to:

Vulnerability Detection

DNN Modularization

Service Decomposition

Out-of-Distribution Detection

Architectural Modeling

Component-Based Systems

Distributed Systems

Self-Adaptive Systems

Affiliation

The Software Architecture Research Group is part of the Department of Computer Science at the University of Southern California. We are affiliated with:

🏛️

USC Department of Computer Science

Part of the Viterbi School of Engineering at the University of Southern California.

🔬

USC Center for Systems and Software Engineering (CSSE)

A research center focused on advancing systems and software engineering practices.

🌐

Institute for Software Research (ISR)

Faculty associate with the Institute for Software Research at UC Irvine, fostering interdisciplinary collaboration.

📚

Academic Excellence

Publishing research papers in top academic conferences and journals, contributing to both theoretical foundations and practical applications.

Key Achievements

50+
Publications in Top-Tier Venues
15+
Active Researchers
10+
Ongoing Projects
5
Industry Partnerships
3
Best Paper Awards
20+
Graduated PhD Students