Programming languages, software engineering, and the smartphone side of systems/security.
Projects and tools
    Smartphones -- Android:
      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
    Full list of publications
    Profiles: Google Scholar (h-index: 30), Microsoft Academic, DBLP

    Looking for objective, quantitative CS department rankings? Use
    NJIT was ranked 43rd in Programming Languages, 48th in Software Engineering, 46th in Databases, and 54th in Security, last time I checked.

Selected Publications

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


CS 635 - Computer Programming Languages: Spring'16
CS 673 - Software Design and Production Methodology: Fall'19, Fall'18, Fall'17, Fall'16, Fall'15
CS 698 - Special Topics: Smartphone Security & Reliability: Spring'18, Spring'17


Current Past

Sydur Rahaman
Raina Samuel
Xin Yin


Yongjian Hu (now at Two Sigma)

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 U. of Cincinatti; 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

Vincenzo Musco
Zhiyong Shan

2013: Steve Suh (now at Microsoft)
2012: Hyunkuk Kim
2010: Cuixiong Hu (now at Amazon), Shengfeng Wu, Dien-Yen Lin
2009: Chih-Ming Yen

2012: Lorenzo Gomez (now at UCLA)

Mohammad Gharehyazie (June-September 2014)
Jonathan Bardin (June-September 2010)

I have also worked with other graduate (Arash Alavi, Zachary Benavides, Yousra Lembachar, Ryan Rusich, Guowu Xie, Jianbo Chen, Md. Reaz Uddin), undergraduate (Rudresh Amin, Shashank Kothapalli, Gavin Huang, Garrett Wong, Michael Lambert), and high school (Abdullah Yousufi) students.

Current Funding

NSF: Collaborative: Improving Android Security with Dynamic Slicing with Rajiv Gupta

Google: Static Analysis for Finding Data Loss and Resume/Restart Errors in Android Apps

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)