{'fraction_non_alphanumeric': 0.015209125475285171, 'fraction_numerical': 0.0, 'mean_word_length': 6.067114093959732, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Pranav Garg Research Statement Motivation and Overview of Research

My research agenda is to build verification technology that helps programmers write reliable, secure, and verified software. In particular, my research focuses on building automatic techniques that significantly lessen the burden on a programmer trying to prove her program secure or correct. The solutions I develop are learning based automatic software verification including machine learning algorithms for learning inductive program invariants, and reverse engineering a set of proof tactics from manual proofs to learn fully automatable natural proofs. My research impacts the building of verified software in the realms of software infrastructures and platforms that have many users, whose security and reliability is becoming increasingly important, and which include systems software such as operating systems, device drivers, mobile platforms, cloud infrastructures, and verification against specifications like race-freedom for parallel programs, memory safety and security.