Projects

    • DeltaDroid: Dynamic Delivery Testing in Android
      • The tool and dataset are available here.
    • Forecasting Architectural Decay from Evolutionary History
      • The tool and dataset are available here.
    • Software Architecture INstrument (SAIN), a first-of-its-kind integration framework for assembling architecture-related techniques and tools with the goal of enabling empirical research in the context of software maintenance.
      • Infrastructure is available here.
    • Librarian: a tool designed to identify native libraries and their versions as found in Android apps, input data, and extended evaluation results.
      • Tool, input data, and extended evaluation results are available here.
    • A Comprehensive Study of Autonomous Vehicle Bugs
      • Dataset is available here.
    • 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.