Research


Interests
    Programming languages, software engineering, dependable AI, and the smartphone side of systems/security.

Projects and tools
    Smartphones -- Android:
      Algebraic Taint Tracking (precise and effective taint tracking, e.g., taint signatures that use AND, XOR, hashing)
      KREfinder/KREreproducer (find and reproduce resume-and-restart errors/directed testing)
      VALERA (full-fledged replay)
      RERAN (GUI-only replay)
      A3E (automatic app exploration)
    Dynamic software updating: Ginseng

Publications
    Full list of publications
    Profiles: Google Scholar (h-index: 36), Microsoft Academic, DBLP

Misc
    Looking for objective, quantitative CS department rankings? Use csrankings.org
    NJIT was ranked 42nd in Software Engineering, 68th in Programming Languages, 51st in Mobile, and 48th in Databases, last time I checked.

Selected Publications

UbiComp23 Diagnosing Medical Score Calculator Apps S. Rahaman, R. Samuel, I. Neamtiu
S&P(Oakland)22 Scraping Sticky Leftovers: App User Information Left on Servers After Account Deletion P. Santhanam, H. Dang, Z. Shan, I. Neamtiu
FSE21 Algebraic-datatype Taint Tracking, with Applications to Understanding Android Identifier Leaks S. Rahaman, I. Neamtiu, X. Yin
OOPSLA20 LiveDroid: Identifying and Preserving Mobile App State in Volatile Runtime Environments U. Farooq, Z. Zhao, M. Sridharan, I. Neamtiu
SOUPS20 Knock, Knock. Who's There? On the Security of LG's Knock Codes R. Samuel, P. Markert, A. Aviv, I. Neamtiu
ICST20 Implementation-induced Inconsistency and Nondeterminism in Deterministic Clustering Algorithms X. Yin, I. Neamtiu, S. Patil, S. Andrews
MobiCom19 Device Administrator Use and Abuse in Android: Detection and Characterization Z. Shan, R. Samuel, I. Neamtiu
MobiSys19 Elix: Path-selective taint analysis for extracting mobile app links Y. Hu, O. Riva, S. Nath, I. Neamtiu
ICSE19 Dynamic Slicing for Android T. Azim, A. Alavi, I. Neamtiu, R. Gupta
AI TESTING19 Statistically Rigorous Testing of Clustering Implementations X. Yin, V. Musco, I. Neamtiu, U. Roshan
ICST19(Tools Trk.) SmokeOut: An Approach for Testing Clustering Implementations V. Musco, X. Yin, I. Neamtiu
ASPLOS18 Static Detection of Event-based Races in Android Apps Y. Hu, I. Neamtiu
ICSE18 Self-Hiding Behavior in Android Apps: Detection and Characterization Z. Shan, I. Neamtiu, R. Samuel
OOPSLA16 Finding Resume and Restart Errors in Android Applications Z. Shan, T. Azim, I. Neamtiu
ISSRE16 Proving Concurrent Data Structures Linearizable V. Singh, I. Neamtiu, R. Gupta
ISSTA16 Automatically Verifying and Reproducing Event-based Races in Android Apps Y. Hu, I. Neamtiu, A. Alavi
CC16 Safe and Flexible Adaptation Via Alternate Data Structure Representations A. Kusum, I. Neamtiu, R. Gupta
OOPSLA15 Versatile yet Lightweight Record-and-replay for Android Y. Hu, T. Azim, I. Neamtiu
GLOBECOM15 Whom Does Your Android App Talk To? X. Wei, I. Neamtiu, M. Faloutsos
EASE15 A Cross-platform Analysis of Bugs and Bug-fixing in Open Source Projects: Desktop vs. Android vs. iOS B. Zhou, I. Neamtiu, R. Gupta
INFOCOM15 A Behavior-aware Profiling of Handheld Devices X. Wei, N. Valler, H. Madhyastha, I. Neamtiu, M. Faloutsos
ASE14(NIT) Towards Self-healing Smartphone Software via Automated Patching T. Azim, I. Neamtiu, L. Marvel
ICSME14 Determining Developers' Expertise and Role: A Graph Hierarchy-based Approach P. Bhattacharya, I. Neamtiu, M. Faloutsos
OOPSLA13 Targeted and Depth-first Exploration for Systematic Testing of Android Apps T. Azim, I. Neamtiu
ICSE13 RERAN: Timing- and Touch-Sensitive Record and Replay for Android L. Gomez, I. Neamtiu, T. Azim, T. Millstein
ISMM13 Generating Sound and Effective Memory Debuggers Y. Wang, I. Neamtiu, R. Gupta
MOBICOM12 ProfileDroid: Multi-layer Profiling of Android Applications X. Wei, L. Gomez, I. Neamtiu, M. Faloutsos
PLDI12 Effective Parallelization of Loops in the Presence of I/O Operations M. Feng, R. Gupta, I. Neamtiu
ICSE12 Graph-based Analysis and Prediction for Software Evolution P. Bhattacharya, M. Iliofotou, I. Neamtiu, M. Faloutsos
ACSAC12 Permission Evolution in the Android Ecosystem X. Wei, L. Gomez, I. Neamtiu, M. Faloutsos
JSS12 Automated, Highly-Accurate, Bug Assignment Using Machine Learning and Tossing Graphs P. Bhattacharya, I. Neamtiu, C. Shelton
ICSE11 Assessing Programming Language Impact on Development and Maintenance: A Study on C and C++ P. Bhattacharya, I. Neamtiu
SEAMS11 Elastic Executions from Inelastic Programs I. Neamtiu
JSME11 Towards a Better Understanding of Software Evolution: An Empirical Study on Open Source Software I. Neamtiu, G. Xie, J. Chen
PLDI09 Safe and Timely Dynamic Updates for Multi-threaded Programs I. Neamtiu, M. Hicks
OSDI08 Finding and reproducing Heisenbugs in concurrent programs M. Musuvathi, S. Qadeer, T. Ball, G. Basler, A. Nainar, I. Neamtiu
POPL08 Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming I. Neamtiu, M. Hicks, J. Foster, P. Pratikakis
PLDI06 Practical Dynamic Software Updating for C I. Neamtiu, M. Hicks, G. Stoyle, M. Oriol
POPL05 Mutatis Mutandis: Safe and Flexible Dynamic Software Updating G. Stoyle, M. Hicks, G. Bierman, P. Sewell, I. Neamtiu
ICAC04 Remote Repair of Operating System State Using Backdoors A. Bohra, I. Neamtiu, P. Gallard, F. Sultan, L. Iftode

Students

Current

PhD
Sydur Rahaman
Muyeed Ahmed
Alireza Ardalani

Past

PhD
2022: Raina Samuel (now at Colgate University)
2020: Xin Yin (now at Facebook)
2017: Yongjian Hu (now at Two Sigma)
2016:
Tanzirul Azim (now at Microsoft)
Amlan Kusum (now at Oracle; co-advised with Rajiv Gupta)
Vineet Singh (now at Intel; co-advised with Rajiv Gupta)
Bo Zhou (now at WANdisco; co-advised with Rajiv Gupta)

2014: Yan Wang (now at Google; co-advised with Rajiv Gupta)
         Dissertation: Dynamic Analysis Techniques for Effective and Efficient Debugging

2013: Xuetao Wei (now at SUSTech; co-advised with Michalis Faloutsos)
         Dissertation: Understanding and Improving the Smartphone Ecosystem: Measurements, Security and Tools

2012: Pamela Bhattacharya (now at Microsoft)
         Dissertation: Quantitative Decision-making in Software Engineering

Postdoc
Vincenzo Musco
Zhiyong Shan

Teaching

CS 388 - Android Application Development: Fall'20, Spring'20

CS 485 - Selected Topics in CS: Smartphone Security & Reliability: Spring'22, Fall'21

CS 635 - Computer Programming Languages: Spring'16

CS 673 - Software Design and Production Methodology: Spring'23, Spring'22, Fall'19, Fall'18, Fall'17, Fall'16, Fall'15

CS 698 - Special Topics: Smartphone Security & Reliability: Spring'18, Spring'17

Brief Vita

University of California, Riverside - Assistant, Associate Professor (2008--2015)
   Research groups: RIPLE, SPRUCe

University of Maryland, College Park - PhD (2008), MS (2005)
   Advisor: Mike Hicks
   Research group: PLUM

Technical University of Cluj-Napoca, Romania - BSE (1999)

Colegiul National "Gheorghe Lazar" Sibiu, Romania - high school (1994)