Software Engineering and Software Systems Researcher

Jon Bell

Jon is an Associate Professor directing research in Software Engineering and Software Systems at Northeastern University. He studies when developers can trust the evidence that they use to judge software, such as test results and fuzzing campaigns, and he builds tools that make that evidence more reliable. His current work focuses on deciding when to accept code written by coding agents.

His research in flaky tests has led to open source contributions to the Maven build system and Pit mutation testing framework. His program analysis research has resulted in several widely adopted runtime systems for the JVM, including the Phosphor taint tracking system (OOPSLA ‘14) and CROCHET checkpoint/rollback tool (ECOOP ‘18). Galette (FSE ‘25), developed with Katherine Hough, succeeds Phosphor and supports modern Java versions. He is a co-PI of the National Deep Inference Fabric (NDIF), an NSF-funded service that gives researchers access to the internals of large language models. His contributions to the object-oriented programming community were recognized with the 2020 Dahl-Nygaard Junior Researcher Prize. His research has been funded by the NSA and the NSF, and he is the recipient of the NSF CAREER award.

Jon led the redesign of Northeastern’s CS 3100: Program Design and Implementation II, an introduction to software engineering that prepares students to work with coding agents. He also directs the development of Pawtograder, an open-source course operations platform that Khoury College now uses in courses from introductory programming through the capstone. He is lead author of the CRA-E white paper AI in Computing Education: Principles and Practical Guidance for Program Leaders (2026). Previously, at George Mason, Jon received a university-wide Teacher of Distinction award for his courses in distributed systems, web development, and program analysis.

Jon is Review Process Co-Chair for the ICSE 2028 research track. In 2026, he was an Area Chair at ICSE and ISSTA and co-chaired the ICSE Shadow PC, a training program for new reviewers, which he is co-chairing again for 2027. At Northeastern, he chairs the PhD CS Curriculum Committee. As part of his efforts to broaden the participation of underrepresented groups in computing, Jon helped form the ICSE Student Mentoring Workshop Steering Committee after co-organizing the student mentoring workshop at ICSE (in 2024 and 2022), and at SPLASH (in 2017, 2018, 2019 and 2020). In Summer 2020, Jon co-founded the Clowdr open source project to help support virtual academic conferences, and subsequently co-founded a startup to provide paid support and development for the project.

His other interests include photography, cooking and cycling.

More information about Jon, including a complete publications listing, is available in his Curriculum Vitae.

Developers decide whether to trust software by reading evidence such as a passing test suite, a fuzzing campaign that finds no new crashes, or a dynamic analysis that reports no vulnerable data flows. I study when that evidence is reliable, and I build tools that make it more reliable. Much of this work targets the Java Virtual Machine and open-source projects that test every change in continuous integration (CI). I release my tools and datasets under open-source licenses, and I have contributed changes based on my findings to widely used testing tools, including Maven Surefire and Pitest.

Coding agents now write a growing share of code, often along with the tests that are supposed to check it. As writing code gets cheaper, the harder problem is deciding whether to accept what an agent produced, and most of my current work addresses that problem.

Acceptance evidence for agent-written code: An agent that can observe its acceptance checks will fit its output to them. I study this problem in agent-driven migrations of legacy software, where the original program defines the expected behavior but the port may deliberately depart from it, for example to remove memory safety errors. In a case study that I presented at the 2026 Workshop on Software Systems across the National Laboratories, coding agents ported a 280 KLoC C program to JavaScript. They built recorders, input generators, and differential tests that compare the port with the original, and direct checks confirmed that these tools worked. They also wrote differential tests that passed while observing no meaningful program state. I argue that accepting such a port requires a certificate of bounded agreement with intent. A domain expert chooses which projection of program state must agree with the original, and within what tolerance, and testing supplies a confidence bound over a stated input distribution. Agents can now build most of that testing apparatus cheaply. People still have to decide what it observes. My ongoing work applies these certificates to more legacy systems and develops ways to detect tests that pass without checking anything.

Mutation testing is one way to check the checks, because it measures whether a test suite detects small, deliberate changes to the program. LLMorpheus, built with Frank Tip and Max Schäfer, prompts a large language model to propose mutants, and it produces mutants resembling real bugs that StrykerJS, a conventional mutation testing tool, cannot generate (Tip, Bell, and Schäfer, 2025). I also study how developers use AI tools in practice. We compared developers’ experiences with ChatGPT and Stack Overflow through a thematic analysis of more than 1,700 Reddit posts (Li, Mynatt, Mishra, and Bell, 2025). With Arjun Guha’s group, I helped build AgentPack, a dataset of 1.8 million code edits co-authored by coding agents and humans in public GitHub repositories.

Flaky tests: Flaky tests pass and fail on the same version of the code, so a failure in CI may or may not indicate a bug. My earliest work in this area studied tests that depend on the order in which they run (Bell and Kaiser, 2014; Bell, Kaiser, Melski, and Dattatreya, 2015; Gambi, Bell, and Zeller, 2018). DeFlaker identifies flaky failures without rerunning tests by checking whether the failing test executed any recently changed code (Bell, Legunsen, Hilton, Eloussi, Yung, and Marinov, 2018). To learn how tests become flaky, we built “software archaeology” experiments that examined thousands of revisions of open-source projects, repeatedly running each test suite to find and profile flaky tests (Lam, Winter, Wei, Xie, Marinov, and Bell, 2020). For FlakeFlagger, we reran test suites 10,000 times and found that fewer than half of the flaky tests appeared within the first 100 runs (Alshammari, Morris, Hilton, and Bell, 2021). The FlakeFlagger dataset helped start a line of research on predicting flaky tests with machine learning.

More recently, we found that 46.5% of the flaky tests in a study of 52 projects fail depending on the computational resources available when they run (Silva et al., 2024). FlakeRake reproduces rare timing-dependent failures by inserting targeted sleep calls (Rahman, Massey, Lam, Shi, and Bell, 2024). In a study of 230,439 failure messages, we measured when matching a new failure against previously seen failures can safely label the new failure as flaky (Alshammari, Ammann, Hilton, and Bell, 2024). A 2026 preprint with colleagues at Heidelberg University and SAP shows that the strong benchmark scores reported for code-based flakiness detectors depend on labeling shortcuts and evaluation protocols. It argues for reframing flakiness prediction around whether an observed failure is flaky and how likely a test is to fail in a given execution environment. My ongoing work uses coding agents to repair flaky tests and submits each repair upstream as a pull request.

Fuzzing and dynamic analysis: Fuzzers generate inputs to reveal untested behavior, including crashes and security vulnerabilities. Many of my tools build on dynamic taint tracking, which follows data from a program’s inputs as the program runs. Phosphor brought precise taint tracking to unmodified JVMs (Bell and Kaiser, 2014), and Conflux extended it to information that flows through control dependencies (Hough and Bell, 2021). Galette, which Katherine Hough and I built, has since replaced Phosphor. It propagated taint tags with perfect accuracy on 3,451 benchmark programs across all four long-term support (LTS) versions of Java (Hough and Bell, 2025). Rivulet uses these analyses to amplify developers’ existing tests and detect code injection vulnerabilities (Hough, Welearegai, Hammer, and Bell, 2020), and CONFETTI combines concolic execution with generator-based fuzzing (Kukucka, Pina, Ammann, and Bell, 2022). Fuzzer design decisions are rarely evaluated on their own, so we study them directly. Examples include how to perform crossover in parametric fuzzing (Hough and Bell, 2024) and how the individual mutation operators in AFL++ affect coverage and bug detection (Kukucka, Pina, Ammann, and Bell, 2024).

Software supply chain: Applications depend on large numbers of open-source packages, and a package manager’s dependency solver chooses which version of each package to install. We formalized the semantics of dependency solving and built MaxNPM, a drop-in replacement for NPM that lets developers combine goals such as choosing newer versions, avoiding duplicate packages, and reducing known vulnerabilities (Pinckney, Cassano, Guha, Bell, Culo, and Gamblin, 2023). To study how updates propagate, we built npm-follower, a 20 TB dataset of every version of every package on NPM (Pinckney, Cassano, Guha, and Bell, 2023). With it, we found that security patches reach downstream packages quickly in about 90% of cases, and that the remaining delays come from developers’ imperfect use of semantic versioning (Pinckney, Cassano, Guha, and Bell, 2023).

Interpretability infrastructure: I am a co-PI of the National Deep Inference Fabric (NDIF), an NSF-funded service that gives researchers remote access to the internals of large open-weight language models through the NNsight library (Fiotto-Kaufman et al., 2025). I oversee NDIF’s open-source community engagement and engineering processes, and with David Bau I lead Workbench, a web application for exploring a model’s internals and running interpretability experiments without writing code. With my PhD student Gwen Lincroft, I study how people without interpretability expertise use Workbench to inspect a model and intervene on its internals.

Testing education: Mutation testing can also give students feedback on the tests that they write. Across 2,711 student submissions, mutation score correlated strongly with detection of instructor-seeded faults (Perretta, DeOrio, Guha, and Bell, 2022). In a controlled experiment with 4,122 students, instructor-written hints about undetected mutants produced a small but statistically significant improvement in student test suites (Perretta, DeOrio, Guha, and Bell, 2025). In CS 3100, we pair each curated mutant with an instructor-approved hint that a language model expands on request. When expansions were available on demand, 46% of students requested at least one. Each expansion cost about three cents (Williams Earle and Bell, 2026).

References

  1. Curated Semantic Mutants: Multi-purpose Artifacts for Grading and Hinting Student Test Suites. Rebecca Williams Earle, Jonathan Bell. Proceedings of the 2026 ACM SIGPLAN International Symposium on SPLASH-E, 2026 [pdf].

    Details
  2. Dynamic Taint Tracking for Modern Java Virtual Machines. Katherine Hough, Jonathan Bell. Proceedings of the ACM on Software Engineering. 2025 ; 2(FSE). [pdf]. [artifact].

    Details
  3. LLMorpheus: Mutation Testing using Large Language Models. Frank Tip, Jonathan Bell, Max Schäfer. IEEE Transactions on Software Engineering. 2025 : 1–21. [pdf]. [artifact].

    Details
  4. NNsight and NDIF: Democratizing Access to Open-Weight Foundation Model Internals. Jaden Fried Fiotto-Kaufman, Alexander Russell Loftus, Eric Todd, Jannik Brinkmann, Koyena Pal, Dmitrii Troitskii, Michael Ripa, Adam Belfki, Can Rager, Caden Juang, Aaron Mueller, Samuel Marks, Arnab Sen Sharma, Francesca Lucchetti, Nikhil Prakash, Carla E. Brodley, Arjun Guha, Jonathan Bell, Byron C Wallace, David Bau. The Thirteenth International Conference on Learning Representations, 2025 [pdf].

    Details
  5. “Always Nice and Confident, Sometimes wrong”: Developer’s Experiences Engaging Generative AI Chatbots Versus Human-Powered Q&A Platforms. Jiachen Li, Elizabeth D. Mynatt, Varun Mishra, Jonathan Bell. Proceedings of The 28th ACM SIGCHI Conference on Computer-Supported Cooperative Work & Social Computing, 2025 [pdf].

    Details
  6. Instructor-Written Hints as Automated Test Suite Quality Feedback. James Perretta, Andrew DeOrio, Arjun Guha, Jonathan Bell. Proceedings of the 56th ACM Technical Symposium on Computer Science Education, 2025 [pdf].

    Details
  7. The Effects of Computational Resources on Flaky Tests. Denini Silva, Martin Gruber, Satyajit Gokhale, Ellen Arteca, Alexi Turcotte, Marcelo d’Amorim, Wing Lam, Stefan Winter, Jonathan Bell. IEEE Transactions on Software Engineering. 2024 : 1–18. [pdf]. [artifact].

    Details
  8. An Empirical Examination of Fuzzer Mutator Performance. James Kukucka, Luís Pina, Paul Ammann, Jonathan Bell. Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, 2024 [pdf]. [artifact].

    Details
  9. 230,439 Test Failures Later: An Empirical Evaluation of Flaky Failure Classifiers. Abdulrahman Alshammari, Paul Ammann, Michael Hilton, Jonathan Bell. Proceedings of the 2024 IEEE Conference on Software Testing, Validation and Verification, 2024 [pdf]. [artifact].

    Details
  10. Automatically Reproducing Timing-Dependent Flaky-Test Failures. Shanto Rahman, Aaron Massey, Wing Lam, August Shi, Jonathan Bell. Proceedings of the 2024 IEEE Conference on Software Testing, Validation and Verification, 2024 [pdf]. [artifact].

    Details
  11. Crossover in Parametric Fuzzing. Katherine Hough, Jonathan Bell. Proceedings of the 2024 International Conference on Software Engineering, 2024 [pdf]. [artifact].

    Details
  12. Flexible and Optimal Dependency Management via Max-SMT. Donald Pinckney, Federico Cassano, Arjun Guha, Jonathan Bell, Massimiliano Culo, Todd Gamblin. Proceedings of the 2023 International Conference on Software Engineering, 2023 [pdf]. [artifact].

    Details
  13. A Large Scale Analysis of Semantic Versioning in NPM. Donald Pinckney, Federico Cassano, Arjun Guha, Jonathan Bell. Proceedings of the 20th International Conference on Mining Software Repositories, 2023 [pdf]. [artifact].

    Details
  14. npm-follower: A Complete Dataset Tracking the NPM Ecosystem. Donald Pinckney, Federico Cassano, Arjun Guha, Jonathan Bell. Proceedings of the 2023 ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2023 [pdf]. [artifact].

    Details
  15. On the Use of Mutation Analysis for Evaluating Student Test Suite Quality. James Perretta, Andrew DeOrio, Arjun Guha, Jonathan Bell. Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, 2022 [pdf]. [artifact].

    Details
  16. CONFETTI: Amplifying Concolic Guidance for Fuzzers. James Kukucka, Luis Pina, Paul Ammann, Jonathan Bell. Proceedings of the 2022 International Conference on Software Engineering, 2022 [pdf]. [artifact]. [code/git].

    Details
  17. A Practical Approach for Dynamic Taint Tracking with Control-flow Relationships. Katherine Hough, Jonathan Bell. ACM Transactions on Software Engineering and Methodology. 2021 ; 31(2). [pdf]. [code/git].

    Details
  18. FlakeFlagger: Predicting Flakiness Without Rerunning Tests. Abdulrahman Alshammari, Christopher Morris, Michael Hilton, Jonathan Bell. Proceedings of the 2021 International Conference on Software Engineering, 2021 [pdf]. [artifact]. [code/git].

    Details
  19. A Large-Scale Longitudinal Study of Flaky Tests. Wing Lam, Stefan Winter, Anjiang Wei, Tao Xie, Darko Marinov, Jonathan Bell. Proceedings of the ACM on Programming Languages. 2020 ; 3(OOPSLA). [pdf]. [artifact].

    Details
  20. Revealing Injection Vulnerabilities by Leveraging Existing Tests. Katherine Hough, Gere Welearegai, Christian Hammer, Jonathan Bell. Proceedings of the 2020 International Conference on Software Engineering, 2020 [pdf]. [artifact]. [code/git].

    Details
  21. Practical Test Dependency Detection. Alessio Gambi, Jonathan Bell, Andreas Zeller. Proceedings of the 2018 IEEE Conference on Software Testing, Validation and Verification, 2018 [pdf]. [code/git].

    Details
  22. DeFlaker: Automatically Detecting Flaky Tests. Jonathan Bell, Owolabi Legunsen, Michael Hilton, Lamyaa Eloussi, Tifany Yung, Darko Marinov. Proceedings of the 2018 International Conference on Software Engineering, 2018 [pdf]. [code/git].

    Details
  23. Efficient Dependency Detection for Safe Java Test Acceleration. Jonathan Bell, Gail Kaiser, Eric Melski, Mohan Dattatreya. Proceedings of the 10th Join Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2015 [pdf].

    Details
  24. Phosphor: Illuminating Dynamic Data Flow in Off-The Shelf JVMs. Jonathan Bell, Gail Kaiser. Proceeding of the 29th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, 2014 [pdf]. [artifact]. [code/git].

    Details
  25. Unit Test Virtualization with VMVM. Jonathan Bell, Gail Kaiser. Proceedings of the 2014 International Conference on Software Engineering, 2014 [pdf]. [code/git].

    Details

A complete list of my publications is also available.

I teach software engineering the way students will practice it, and I make my course materials public so that other instructors can adapt them. Coding agents can now write much of the code in a typical assignment, so my recent courses focus on the skills needed to oversee that code: design, testing, code review, and explaining the code that they ship. Students develop the judgment that oversight requires by doing the work themselves before they delegate it.

I led the redesign of CS 3100: Program Design and Implementation II, part of Northeastern’s new core programming sequence. We designed its lectures, labs, assignments, and tools from scratch and first taught it in Spring 2026, to 430 students across three campuses. Each assignment states the expected level of AI use, from “Not allowed” through “Permitted” to “Required.” Early assignments are “Not allowed,” because students have not yet learned to review code that they could not have written themselves. The assignments build a single application, Cook Your Books, and each week students start from the provided solution to the previous week’s assignment. After each assignment, students write a reflection on the design decisions and tradeoffs that they made. The course also covers software architecture, requirements and domain modeling, usability and accessibility, and end-to-end testing. We grade students’ test suites against a curated set of mutants.

I also lead development of Pawtograder, an open-source course operations platform built on GitHub. Each time a student pushes code, Pawtograder runs the autograder, and it also supports hand grading with rubrics, a gradebook, office hours, and a discussion board. I started the project in 2025, and student TAs contribute to its development. Khoury College now hosts it for courses from CS 2000 through CS 4535, and I conduct my research on testing education in these courses.

This fall I am teaching Software Design and Delivery, my section of Northeastern’s new capstone practicum, CS 4535. Student teams ship features to Pawtograder, which has more than 1,500 weekly active users, and take on the operations work that comes with a production system, including incident drills. Coding agents are expected in this course, and grades are based on a portfolio of evidence against eight published learning outcomes.

I am lead author of the CRA-E white paper AI in Computing Education: Principles and Practical Guidance for Program Leaders (2026), and I was a Northeastern CATLR AI Fellow in 2025-26. Before CS 3100, I taught CS 4530: Fundamentals of Software Engineering five times. Student teams in that course extend Covey.Town, an open-source application that we built for the term project. I have also taught graduate courses in software engineering. At George Mason, I received a university-wide Teacher of Distinction award for my courses in distributed systems, web development, and program analysis.

At Northeastern: At George Mason:

I volunteer for leadership roles when I see a chance to improve a process that my research community depends on. I look for roles where my experience building software helps, and I try to leave behind tools and documentation that the next organizers can reuse.

Much of my recent service focuses on peer review. I co-chaired the ICSE 2026 Shadow PC, a reviewer training program in which 102 participants reviewed 117 papers with structured calibration and peer feedback. Our report describes the program and what we learned, and I am co-chairing the Shadow PC again for ICSE 2027. In 2026, I was an Area Chair for ICSE and ISSTA and the Publications Chair for ISSTA. I am Review Process Co-Chair for the ICSE 2028 research track. I serve on program committees for conferences such as ICSE, ASE, and ISSTA, and I have received seven distinguished reviewer awards, most recently at FSE 2026. I also review for journals such as TOSEM and TSE and have served on NSF and DOE review panels.

I am a member of the Computing Research Association’s Education Committee (CRA-E). From 2024 to 2026, I co-chaired the CRA Outstanding Undergraduate Researcher Awards. During that time, the program doubled its number of awardees with support from new sponsors, and we moved its reviewing to HotCRP. I also serve on the joint CRA-E and CRA-Industry Practitioner-to-Professor (P2P) working group, which surveys industry practitioners on what computing graduates need to learn and studies how PhD programs can work with industry. At the 2026 CRA Summit, I co-moderated a panel on how AI changes the computing curriculum and moderated a panel on what industry expects from graduates.

At Northeastern, I chair the PhD CS Curriculum Committee. From 2023 to 2024, I co-chaired PhD CS admissions, where we redesigned the review process to handle a 62% increase in applications. I also led the CAREER Club, a structured mentoring program for faculty preparing NSF CAREER proposals. In 2025, I co-chaired Khoury’s Faculty Mentoring and Engagement committee.

To broaden participation in computing research, I co-organized NSF-supported student mentoring workshops at ICSE (2022 and 2024) and SPLASH (2017 through 2020). I then helped form the steering committee for the ICSE Student Mentoring Workshop, where I have served since 2024. In 2019 and 2020, I co-chaired SIGSOFT’s Open Science initiative and artifact evaluation for PLDI 2020. I also co-founded the Clowdr open-source project in 2020, and several research communities used it to run virtual conferences during the pandemic.

Service Activities in 2026:

Conference/Professional Organization Leadership
  • ISSTA Publications Chair
  • ICSE Program Committee Area Chair (Testing and Analysis)
  • ISSTA Program Committee Area Chair (Analysis and Testing for Security)
  • ICSE Student Mentoring Workshop Steering Committee
  • Computing Research Association (CRA) Education Committee
  • CRA-E and CRA-Industry Practitioner-to-Professor (P2P) Working Group
  • ICSE Shadow PC Co-Chair
Conference Technical Program Committee Membership
  • Automated Software Engineering (ASE)
  • Foundations of Software Engineering (ESEC/FSE)
  • International Conference on Program Comprehension (ICPC)
  • Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)
Journal Reviewing
  • Empirical Software Engineering
  • ACM Transactions on Software Engineering and Methodology
  • IEEE Transactions on Software Engineering
Other Program Committee Activities
  • ASE Automated Techniques for Integrity and Quality in Software-Engineering Research Workshop
  • ICST CI/CD Industry Workshop
  • ICSE Test Flakiness Workshop
Funding and Award Committee Activities
  • CRA Outstanding Undergraduate Researcher Awards Co-Chair
  • FSE Africa Support Stipend Selection Committee
  • National Science Foundation Grant Review Panel
Northeastern University, Khoury College Committee Leadership
  • PhD CS Curriculum Committee Chair
Northeastern University, Committee Membership
  • Cadre of University Marshals
  • Khoury College Tenure Committee
All Service Activities
Conference/Professional Organization Leadership
  • ISSTA Publications Chair, 2026
  • ICSE Review Process Co-Chair, 2028
  • ICSE Program Committee Area Chair (Testing and Analysis), 2026
  • ISSTA Program Committee Area Chair (Analysis and Testing for Security), 2026
  • ACM SIGSOFT Open Science Initiative Co-Chair, 2019
  • PLDI Artifact PC Co-Chair, 2020
  • ICSE Student Mentoring Workshop Co-Chair, 2022, 2024
  • ICSE Student Mentoring Workshop Steering Committee, 2024, 2025, 2026
  • Computing Research Association (CRA) Education Committee, 2024, 2025, 2026
  • CRA-E and CRA-Industry Practitioner-to-Professor (P2P) Working Group, 2025, 2026
  • ICSE Shadow PC Co-Chair, 2026, 2027
  • SPLASH Student Mentoring Workshop Co-Chair, 2017, 2018, 2019, 2020
  • SPLASH Student Volunteer Co-Chair, 2013, 2014, 2015
  • SPLASH Posters Co-Chair, 2017
  • ISSTA Publicity Co-Chair, 2020
  • SPLASH Publicity Co-Chair, 2018
  • ISSTA Tools and Demos Track Co-Chair, 2023
  • ISSTA Virtualization Chair, 2020
  • ICSE Virtualization Technology Co-Chair, 2020
  • Workshop on Software Engineering Education for the Next Generation at ICSE Workshop Co-Organizer, 2023
  • Workshop on Designing and Running Project-Based Courses in Software Engineering Education at ICSE Workshop Co-Organizer, 2022
  • Workshop on Games and Software Engineering at ICSE Workshop Co-Organizer, 2012
Conference Technical Program Committee Membership
  • Automated Software Engineering (ASE), 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026
  • Foundations of Software Engineering (ESEC/FSE), 2022, 2023, 2026, 2027
  • IEEE Secure Development Conference, 2021
  • International Conference on Program Comprehension (ICPC), 2023, 2024, 2026, 2027
  • International Conference on Mining Software Repositories (MSR), 2020, 2024, 2027
  • International Conference on Software Engineering (ICSE), 2019, 2020, 2021, 2022, 2024, 2025, 2027
  • International Conference on Software Testing (ICST), 2019
  • International Symposium on Software Testing and Analysis (ISSTA), 2021, 2022, 2023, 2024
  • International Symposium on Software Reliability Engineering (ISSRE), 2022
  • Object-oriented Programming, Systems, Languages, and Applications (OOPSLA), 2024, 2025, 2026
Journal Reviewing
  • Automated Software Engineering, 2021
  • Empirical Software Engineering, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026
  • Journal of Systems and Software, 2016, 2017, 2018, 2019, 2020, 2021, 2022
  • IEEE Software, 2017
  • ACM Transactions on Software Engineering and Methodology, 2020, 2021, 2022, 2023, 2024, 2025, 2026
  • IEEE Transactions on Software Engineering, 2020, 2021, 2022, 2023, 2024, 2026
  • IEEE Transactions on Reliability, 2020
Other Program Committee Activities
  • ICSME Artifact Evaluation Committee, 2017
  • ISSTA Artifact Evaluation Committee, 2015
  • OOPSLA Artifact Evaluation Committee, 2015, 2016
  • ASE Automated Techniques for Integrity and Quality in Software-Engineering Research Workshop, 2026
  • ICST CI/CD Industry Workshop, 2026
  • ISSTA Doctoral Symposium Committee, 2022
  • ICSE Doctoral Symposium Committee, 2024
  • ICSE Test Flakiness Workshop, 2024, 2026
  • ICSME Late Breaking Ideas Track, 2019
  • MSR Mining Challenge Track, 2017, 2018, 2020
  • ICSE New Ideas and Emerging Results, 2023
  • FSE Release Engineering Workshop, 2016
  • FSE Software Defect Datasets Workshop, 2023
  • ICST Testing Tools Track, 2016, 2020
  • ISSTA Tool Demonstrations Track, 2021, 2022, 2023, 2024, 2025
  • ICSE Workshops Program Committee, 2023
Funding and Award Committee Activities
  • CRA Outstanding Undergraduate Researcher Awards Co-Chair, 2024, 2025, 2026
  • CRA Outstanding Undergraduate Researcher Awards Committee, 2021, 2022, 2023
  • Department of Energy Funding Panel, 2021
  • FSE Africa Support Stipend Selection Committee, 2026
  • ICSE Student Research Competition Judge, 2019, 2020
  • National Science Foundation Grant Review Panel, 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026
Northeastern University, Khoury College Committee Leadership
  • Code4Community Student Group Faculty Advisor, 2021, 2022
  • Faculty Mentoring and Engagement Co-Chair, 2025
  • PhD CS Admissions Co-Chair, 2023, 2024
  • PhD CS Curriculum Committee Chair, 2025, 2026
  • CAREER Club Faculty Lead, 2023, 2024
Northeastern University, Committee Membership
  • Cadre of University Marshals , 2022, 2023, 2024, 2025, 2026
  • PhD CS Admissions , 2021, 2022
  • Faculty Engagement and Mentoring , 2021, 2022
  • Khoury College Tenure Committee , 2026
George Mason University, CS Department Committee Membership
  • Computing , 2016, 2017, 2018, 2019, 2020
  • PhD Recruitment and Evaluation , 2017, 2018, 2019, 2020
  • MS in Software Engineering Admissions , 2016, 2017, 2018, 2019, 2020
  • Student Run Computing & Technology Faculty Advisor, 2018, 2019, 2020
  • Tenure Track Faculty Recruitment , 2018, 2019, 2020
  • Teaching Track Faculty Recruitment , 2017, 2018, 2019
Columbia University, CS Department Committee Leadership
  • Social Committee Chair, 2011, 2012, 2013, 2014, 2015, 2016

Email: [email protected]

Mastodon: [email protected]

GitHub: jon-bell