I am a PhD student at the University of Pennsylvania. I previously graduated from École Polytechnique with bachelor's and master's degrees in mathematics and computer science. My set of core research interests is spanned by the following grammar:
As a result, I am also interested in all topics that play a role in these domains including (but not restricted to) logic, model checking, reinforcement learning, game theory, control, cyber-physical systems, PL, NLP etc.
What's up with me!
- August 27, 2024: Moved across the Atlantic to start my PhD at the University of Pennsylvania.
- June 2, 2024: I attended a Dagstuhl seminar on Stochastic Games
- April 1, 2024: I started my internship at IMDEA Software Institute, Madrid working with Alessio Mansutti. Excited for my next 5 months in Madrid!
- December 2, 2023: My work on programmatic reinforcement learning was accepted at the student research competition at POPL 2024. Read the 3 page abstract summarizing my work here.
- September 5, 2023: Defended my internship on programmatic reinforcement learning. Find my report here! I also created some cool animations of our synthesized policies using manim.
- June 6, 2023: Our paper Static Analysis of Data Transformations in Jupyter Notebooks was accepted at the SOAP workshop at PLDI 2023! This was joint work with Luca Negrini and Caterina Urban during my bachelor thesis.
- April 3, 2023: Moved to Warsaw, Poland to work with Nathanaël Fijalkow at the University of Warsaw to work on programmatic reinforcement learning. Looking forward to spending 4 months here discovering a new country and an exciting topic!
- September 19, 2022: Started the Parisian Masters of Research in Computer Science (MPRI) at Ecole Polytechnique which is a research oriented master's program in theoretical computer science.
- September 15, 2022: I received the Global Winner in Computer Science award at the Global Undergraduate Awards for my work on static analysis of data science software.
- June 19, 2022: Graduated with a bachelor's degree in mathematics and computer science from Ecole Polytechnique with a summa cum laude honor.
- April 4, 2022: Submitted by bachelor thesis. I worked on verifying data science software! Find it here.
- October 11, 2021: I presented a talk on my research in hybrid systems at a reunion of researchers from around France working in similar areas which took place at LIX! Find my slides here. A (re-)recording of the talk is here!
- October 1, 2021: Find the report of my work on delays in hybrid systems here.
Publications
- Theoretical foundations for programmatic reinforcement learning. Guruprerana Shabadi, Nathanaël Fijalkow, Théo Matricon. Preprint. [PDF]
- Towards programmatic reinforcement learning: the case of deterministic gridworlds. Guruprerana Shabadi. Student research competition at POPL 2024. [PDF]
- Static Analysis of Data Transformations in Jupyter Notebooks. Luca Negrini, Guruprerana Shabadi, and Caterina Urban. At SOAP workshop at PLDI 2023. [PDF]
Research Experience
Integer linear-exponential programming (April 2024 - August 2024)
Working with Alessio Mansutti at IMDEA Software Institute, Madrid on an optimization procedure for integer linear-exponential systems.
Programmatic Reinforcement Learning (April 2023 - August 2023)
Worked with Nathanaël Fijalkow at the automata theory group of the University of Warsaw on synthesizing programmatic policies for markov decision processes (MDPs) by exploiting programmatic representations of MDPs.
Bachelor thesis: Static analysis of data science software (January 2022 - April 2022)
Worked with Caterina Urban at the ANTIQUE team of ENS, Paris on the design of abstractions to facilitate static analysis of Jupyter notebooks used for data science.
Abstract. Availability of data at extensive scales has led to the adoption of data-driven decision making practices in several domains including the likes of medicine, finance, and public policy. Consequently, ensuring correctness and fairness of analyses drawn from data science programs is critical and presents a challenging verification task. Errors in data processing code often go unnoticed since they do not throw errors, and can lead to unsound conclusions being drawn from data. We propose an abstract interpretation based static analysis tool as a first step towards analysing data science programs. To this end, we construct a novel abstract domain to track data transformations which we exploit towards the task of shape inference of input data. Our tool is capable of automatically inferring the constraints and assumptions placed by a program on the input data. This can be further used towards achieving bigger objectives like input data usage analysis, data provenance, and the detection of bias or skew introduced in the data by a program.
Accounting for communication delays in a hybrid system (June 2021 - December 2021)
Worked with Sergio Mover with the Cosynus team at LIX (computer science department at Ecole Polytechnique) on handling communication delays which arise when there are multiple hybrid systems interacting with each other.
Abstract. Cyber-physical systems use communication protocols to gather information on their environments in order to react to changes around them. However, in practice these protocols are far from perfect and can have non-negligible delays in relaying state information, i.e., there might be a delay in observing the current value of a state variable. To further motivate the study of these delays, we explore the case study of a collision avoidance protocol with a group of robots navigating in space while avoiding collisions. Here, we cannot ensure that each robot has complete information about the state of the other robots at every instant of time. To model these delays, we revisit the class of hybrid automata called lazy hybrid automata in the continuous, instead of discrete, semantic. Lazy hybrid automata model nondeterministic delays in observing the value of state variables used in invariants and guard conditions. We then discuss the results we have obtained on the expressiveness of some restricted classes of (continuous) lazy hybrid automata by providing their translations into classical hybrid automata.