Projects

    • Darcy: Detection and Repair of Architectural Inconsistencies in Java
    • RevealDroid: Lightweight, Obfuscation-Resilient Detection and Family Identification of Android Malware
    • LetterBomb: Automatic Generation of Inter-Component Communication Exploits for Android Applications
    • SALMA: Self-Protection of Android Systems from Inter-Component Communication Attacks
    • COVERT: Compositional Analysis of Android Inter-Application Vulnerabilities
    • A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android Apps and Anti-Malware Products
    • A Taxonomy of Program Analysis Techniques for Security Assessment of Android Apps
    • TrimDroid: Reducing Combinatorics in GUI Testing of Android Applications
    • Architectural Recovery using Concerns (ARC): an approach for recovery of the components of a software systems architecture that leverages topic models
    • Architecture Recovery, Change, And Decay Evaluator (ARCADE): a software workbench that employs a suite of architecture-recovery techniques and a set of metrics for measuring different aspects of architectural change. Users include Huawei, Northrup Grumman, and Boeing.
      • Old version available here
      • Please contact me, Duc Le (ducmle at usc dot edu), Daniel Link (dlink at usc dot edu), or  Nenad Medvidović (neno at usc dot edu) for the latest version
    • Eos: a tool for identifying messages, inter-component dependencies based on messages, intra-component dependencies based on messages, and attributes of a message in a distributed event-based system.
    • Ground-Truth Software Architectures: architectures recovered with the aid of a software system’s architect or long-time architecturally aware developer.
    • Apache Object Oriented Data Technology (OODT) (as an Apache Committer): a framework for
      large-scale distributed data management and processing.