The SANAD Lab

Welcome to the SANAD Lab at New York University Abu Dhabi!

SANAD stands for Software Analysis and Developer Support, and that’s what we’re all about! Our mission is to enhance how software engineers develop and maintain software systems by providing them with the tools and insights that they need. In Arabic, SANAD (سند) means support. As software systems grow more intricate, we aim to simplify life for developers through support tools that enhance their efficiency and effectiveness.

Our expertise lies in program analysis and software analytics. We work on improving the precision and scalability of static analyses and on uncovering insights from software repositories (e.g., version control systems, issue trackers etc).

Examples of our current research projects include:

  • Detecting API misuse to help developers use third-party libraries correctly
  • Designing a program analysis framework for Swift Applications (SWAN)
  • Identifying security vulnerabilities to make systems safer
  • Library migration to support seamless upgrades and transition
  • Using LLMs for software engineering tasks

See our past and current research projects for more details.

News

Selected Publications

  1. ESEM
    An Empirical Study of API Misuses of Data-Centric Libraries
    Akalanka Galappaththi, Sarah Nadi, and Christoph Treude
    In Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’24), 2024
  2. ESEC/FSE
    Characterizing Python Library Migrations
    Mohayeminul Islam, Ajay Kumar Jha, Ildar Akhmetov, and Sarah Nadi
    In Proceedings of the ACM International Conference on the Foundations of Software Engineering (FSE), 2024
  3. TSE
    An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generation
    Max Schäefer, Sarah Nadi, Aryaz Eghbali, and Frank Tip
    IEEE Transactions on Software Engineering, 2023
  4. ICSME
    Finding an Optimal Set of Static Analyzers To Detect Software Vulnerabilities
    Jiaqi He, Revan MacQueen, Natalie Bombardieri, Karim Ali, James Wright, and Cristina Cifuentes
    In International Conference on Software Maintenance and Evolution, Sep 2023
  5. MSR
    Energy Consumption Estimation of API-usage in Mobile Apps via Static Analysis
    Abdul Ali Bangash, Kalvin Eng, Qasim Jamal, Karim Ali, and Abram Hindle
    In International Conference on Mining Software Repositories, May 2023
  6. ICSME
    Mining Annotation Usage Rules: A Case Study with MicroProfile
    Batyr Nuryyev, Ajay Kumar Jha, Sarah Nadi, Yee-Kang Chang, Emily Jiang, and Vijay Sundaresan
    In Proceedings of the 38th IEEE International Conference on Software Maintenance and Evolution – Industry Track, May 2022
  7. TSE
    Why Do Software Developers Use Static Analysis Tools? A User-Centered Study of Developer Needs and Motivations
    Lisa Nguyen Quang Do, James R. Wright, and Karim Ali
    IEEE Transactions on Software Engineering, Jun 2022
  8. TSE
    CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs
    Stefan Krüger, Johannes Späth, Karim Ali, Eric Bodden, and Mira Mezini
    IEEE Transactions on Software Engineering, Oct 2021
  9. ICSME
    Energy Efficient Guidelines for iOS Core Location Framework
    Abdul Ali Bangash, Daniil Tiganov, Karim Ali, and Abram Hindle
    In International Conference on Software Maintenance and Evolution, Jun 2021
  10. POPL
    Context-, Flow-, and Field-Sensitive Data-Flow Analysis Using Synchronized Pushdown Systems
    Johannes Späth, Karim Ali, and Eric Bodden
    In ACM SIGPLAN Symposium on Principles of Programming Languages, Jan 2019