Hi, I’m Mehdi Keshani, an Assistant Professor of Computer Science at Bowling Green State University and a researcher passionate about the intersection of software engineering, AI, and software ecosystems.
My work focuses on improving the security, quality, and reliability of software and software supply chains. I build tools such as AI-powered tools and agents that support developers in their daily work. I’ve developed open-source systems like Frankenstein for call graph analysis and LinkAnchor, an LLM-based agent for software traceability, both of which bridge cutting-edge research with real-world impact.
I’m equally passionate about teaching and mentorship. Over the years, I’ve taught and supervised students across undergraduate and graduate levels in areas such as programming languages, software architecture, and software testing.
Beyond research and teaching, I actively contribute to the international software engineering community through service, reviewing, and open-source initiatives. My long-term vision is to make software engineering practices more secure, reliable, and accessible.
Interests
- Software Engineering & AI – Exploring how large language models and AI agents can support or even participate in software development, from traceability to design sessions.
- Software Supply Chains – Enhancing the quality, security, and reliability of modern software ecosystems through dependency analysis, reproducibility, and open-source tooling.
- Open Science & Reproducibility – Advocating for open-source tools and reproducible builds to make research and software practices more transparent and accessible worldwide.
- Teaching & Mentorship – Designing interactive learning environments and guiding students through impactful research projects that connect theory with real-world practice.
Experiences
Assistant Professor
At Bowling Green State University (BGSU), I teach courses, conduct research, submit grant proposals, supervise students and research projects, and contribute service to the academic and open-source community.
Research Engineer
At the Research Engineering and Infrastructure Team (REIT) in TU Delft, I supported researchers in building infrastructures for their research projects. During this time, I designed, implemented, tested, and presented an AI agent for creative brainstorming sessions. I also assisted in the development of a human-AI coupled system for collaborative microsurgeries and presented it to members of the Dutch Parliament.
PhD Candidate
During my PhD at Delft University of Technology, I was a member of the Software Engineering Research Group. My academic journey started in 2019 under the guidance of Dr. Georgios Gousios, and I became deeply engaged in the field of Software Engineering. During the first three and a half years of my PhD, I was heavily involved in the Fasten project, aimed at transforming the way dependency analyses are conducted by enhancing their precision through the use of call graphs.
In 2021, when my initial supervisor transitioned to the industry, I had the chance to continue my PhD under the supervision of Dr. Sebastian Proksch. Throughout my PhD, my research explored various facets of software supply chains and dependency management. I worked on critical problems such as change impact analysis of libraries, security aspects and vulnerabilities within libraries, and best practices for release management in software ecosystems. Currently, I am working towards the completion of my PhD by the end of 2023.
Education
- 2019 - 2024: Delft University of Technology, PhD, Software Engineering
- 2016 - 2018: Sharif University of Technology, Msc, Software Engineering
- 2011 - 2016: University of Isfahan, Bsc, Software Engineering
Publications
- LinkAnchor: An Autonomous LLM-Based Agent for Issue-to-Commit Link Recovery. A. Akhavan, A. Hosseinpour, M. H. Aref, A. Heydarnoori, M. Keshani, Under review. 2025.
- Impact of LLM-generated Code on the Maven Ecosystem. R. Koohestani, M. Izadi, M. Keshani. Work in progress.
- OriginPruner: Leveraging Method Origins for Guided Call Graph Pruning. A. M. Mir, M. Keshani, S. Proksch, Revising.
- Enhancing the Security of Software Supply Chains: Methods and Practices. M. Keshani. PhD Thesis at Delft University of Technology (TUD). 2024.
- Maven Unzipped: Exploring the Impact of Library Packaging on the Ecosystem. M. Keshani, G. Bot, P. Rungta, M. Izadi, A. Van Deursen, S. Proksch. International Conference on Software Maintenance and Evolution (ICSME). 2024.
- AROMA: Automatic Reproduction of Maven Artifacts. M. Keshani, T. Velican, G. Bot, S. Proksch, Foundations of Software Engineering (FSE). 2024.
- On the Effectiveness of Machine Learning-based Call-Graph Pruning: An Empirical Study. A. M. Mir, M. Keshani, S. Proksch. Mining Software Repositories (MSR). 2024.
- Frankenstein: Fast and Lightweight Call Graph Generation for Software Builds. M. Keshani, G. Gousios, S. Proksch. Empirical Software Engineering (EMSE). 2024.
- On the relation of method popularity to breaking changes in the Maven ecosystem. M. Keshani, S. Vos, S. Proksch. Journal of Systems and Software (JSS). 2023.
- On the Effect of Transitivity and Granularity on Vulnerability Propagation in the Maven Ecosystem. A.M. Mir, M. Keshani, S. Proksch. IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). 2023.
- Scalable Call Graph Constructor for Maven. M. Keshani. IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). 2021.
- Cross-project code clones in GitHub. M. Gharehyazie, B. Ray, M. Keshani, M.S. Zavosht, A. Heydarnoori, V. Filkov. Empirical Software Engineering (EMSE). 2019.
Supervision
2023
- Niels Tomassen: Uncovering the Secrets of the Maven Repository: Analysis of Library Sizes in Maven Central (Bachelor thesis)
- Priyam Rungta: Uncovering Secrets of the Maven Repository: Maven packaging (Bachelor thesis)
- Tudor-Gabriel Velican: Investigating the State of Source Code Repositories in Maven Central (Bachelor thesis)
- Gideon Bot: Uncovering secrets of the Maven Repository: Java Build Aspects (Bachelor thesis)
2022
- Horia Zaharia: An exploratory study about extent of use of released packages in the Maven Central Repository (Bachelor thesis)
- Simcha Vos: API evolution on Maven Central: do developers adhere to semantic versioning? (Bachelor thesis)
- Thijs Nulle: Method Popularity Distributions of Software Artefacts within Maven Central (Bachelor thesis)
- Michel Bulten: Looking at changes in popularity in the Maven ecosystem (Bachelor thesis)
2021
- Tudor Popovici: Method-Level Data in GitHub Pull Request Descriptions: Effects on Developers’ Prioritization and Facilitation of Fixing Vulnerable Dependencies (Bachelor thesis)
- Jakub Nguyen: Effectiveness of using call graphs to detect propagated vulnerabilities (Bachelor thesis)
- Niels Mook: Improvement Analysis of Function-Level over Package-Level Vulnerability Recommendations (Bachelor thesis)
- Christophe Cosse: Analysing the effectiveness of fine-grained dependency analysis (Bachelor thesis)
Other Supervision
- 2019–2022: In the FASTEN project, I co-mentored five students, producing open-source tools and project deliverables.
- 2017: During my master’s, I supervised two students, leading to a top-tier journal paper and a bachelor’s thesis.
Teaching
- 2025, Professor: Programming Languages, Undergraduate course, Spring Semester, BGSU
- 2025, Professor: Software Testing and Quality Assurance, Graduate & Undergraduate course, Spring Semester, BGSU
- 2024, Professor: Programming Languages, Undergraduate course, Fall Semester, BGSU
- 2024, Professor: Software Architecture and Design, Graduate & Undergraduate course, Fall Semester, BGSU
- 2018-2022, TA: Release engineering for Machine Learning, Database Design, System Analysis and Design, TU Delft
- 2017, Instructor: Operating System Workshop, Undergraduate course, Sharif University
Open source community
In my opinion, the open-source initiative is one of the most fundamental concepts in our society today. It enables us to benefit from incredible technologies, including diverse software ecosystems that make coding much easier and more enjoyable than it was just a few years ago. We have witnessed remarkable breakthroughs, such as Large Language Models (LLMs), which are all the result of countless hours contributed by developers who have chosen to freely provide their work to the community. Therefore, to do my part, I also attempt to contribute to this initiative.
- Fasten was an open-source project funded by the European Union, involving over 40 people from both industry and academia. During this project, I had the opportunity to collaborate with individuals from across Europe with diverse backgrounds, different levels of experience, and different levels of seniority. As our team at TUD led the project and my research played a core role in it, I had the chance to learn many valuable skills. In addition to the engineering experiences gained from working on such a large-scale project, it gave me the opportunity to engage in crucial aspects such as making significant design decisions, participating in project management and planning, as well as contributing to the writing and reviewing of project deliverables.
- I have open-sourced all the studies and encouraged the students I supervised to do the same. During the Student Research Projects I supervised, we made contributions to numerous open-source projects through pull requests.
Services to the community
International
- Proceedings Chair, AgenticSE 2026, co-located with ASE
- Program Committee, SANER 2026 Demo Track
- Member, International Reproducible Builds Community
- Reviewer, ACM Transactions on Software Engineering and Methodology (TOSEM), IEEE Transactions on Software Engineering (TSE), Empirical Software Engineering (EMSE), international journal of information security (JIS), IEEE Transactions on Reliability
- Co-reviewer, International Conference on Software Engineering (ICSE), Foundations of Software Engineering (FSE), and Automated Software Engineering (ASE)
- PC member, NLP-based Software Engineering (NLBSE-2024) workshop
- Organizer/session chair, ICSE virtualization team (2022), Mining Software Repositories conference (2023)
University
- Member, Undergraduate Committee, Computer Science Department, BGSU (2024–2025)
- Actively participated in meetings and decision-making processes
- Developed multiple course maps, including Computer Science and Cybersecurity tracks at BGSU
- Contributed to curriculum revisions, including changes to the Techniques of Simulation course
Contact
- E-mail: mehdikeshaniphd[AT_gmail_DOT_com]