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
- ESEMAn Empirical Study of API Misuses of Data-Centric LibrariesIn Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’24), 2024
- ESEC/FSECharacterizing Python Library MigrationsIn Proceedings of the ACM International Conference on the Foundations of Software Engineering (FSE), 2024
- ICSMEFinding an Optimal Set of Static Analyzers To Detect Software VulnerabilitiesIn International Conference on Software Maintenance and Evolution, Sep 2023
- MSREnergy Consumption Estimation of API-usage in Mobile Apps via Static AnalysisIn International Conference on Mining Software Repositories, May 2023
- ICSMEMining Annotation Usage Rules: A Case Study with MicroProfileIn Proceedings of the 38th IEEE International Conference on Software Maintenance and Evolution – Industry Track, May 2022
- TSEWhy Do Software Developers Use Static Analysis Tools? A User-Centered Study of Developer Needs and MotivationsIEEE Transactions on Software Engineering, Jun 2022
- TSECrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIsIEEE Transactions on Software Engineering, Oct 2021
- ICSMEEnergy Efficient Guidelines for iOS Core Location FrameworkIn International Conference on Software Maintenance and Evolution, Jun 2021
- POPLContext-, Flow-, and Field-Sensitive Data-Flow Analysis Using Synchronized Pushdown SystemsIn ACM SIGPLAN Symposium on Principles of Programming Languages, Jan 2019