I’m Mehdi, a PhD candidate currently in the final stretch of my doctoral journey at Delft University of Technology, where I am a member of the Software Engineering Research Group. My academic journey started in 2019 under the guidance of Dr. Georgios Gousios, and since then, I’ve been 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, a significant endeavor 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 to explore new opportunities, I had the chance to continue my PhD under the supervision of Dr. Sebastian Proksch, and our collaboration continues to this day. 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.
Interests
In general, I truly enjoy working with data to discover new things, creating tools, heuristics, and ML-based approaches to enable new functionalities, and automating processes to simplify various tasks. This interest has manifested itself in the following research areas so far:
- Software ecosystems
- Software supply chain
- Evolution of systems
Publications
- Frankenstein: Fast and Lightweight Call Graph Generation for Software Builds. M. Keshani, G. Gousios, S. Proksch. Empirical Software Engineering (EMSE). 2023.
- 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.
Experiences
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 enjoy 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 attempted to contribute to this initiative during my PhD.
- 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, varying 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 sharpen various 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 I have conducted during my PhD 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 that were accepted by the main developers.
Supervision
Designing projects, supervising students, and leadership have consistently been among the most fulfilling aspects of my academic journey.
- During my master’s studies, I supervised two students, resulting in one published paper in a top-tier journal and one bachelor’s thesis.
- Throughout my PhD, I voluntarily designed projects and offered them to students. This provided me with the opportunity to supervise twelve bachelor’s theses, with six of them receiving excellent grades from evaluation committees. These projects ultimately led to three top-level technical papers.
- Within the Fasten project, I collaboratively mentored five students, resulting in the creation of various artifacts, including open-source tools and project deliverables.
Services to the community
- During my PhD, I co-reviewed papers for top-tier conferences in the field, including ICSE, FSE, and ASE.
- In 2020, I was part of the ICSE virtualization team, where we live-streamed the conference and assisted the organizers in successfully transitioning the conference to an online format for the first time during COVID.
- In MSR 2023, I served as a session chair.
Education
- 2019 - current: Delft University of Technology, PhD, Software Engineering
- 2016 - 2018: Sharif University of Technology, Msc, Software Engineering
- 2011 - 2016: University of Isfahan, Bsc, Software Engineering
Contact
- Address: Faculty of Electrical Engineering, Mathematics and Computer Science (Faculteit Elektrotechniek, Wiskunde en Informatica), Technical University of Delft, the Netherlands.
- E-mail: m.keshani[AT_tudelft_DOT_nl]