Urvang Joshi is a software engineer with 14 years of experience in machine learning, computer vision, and image codecs, currently working on WebP at Google in Mountain View. He holds a B.Tech from NIT Surat and an M.E. from IISc Bangalore, and began his career researching image understanding at Yahoo! before moving through Microsoft and Google roles. At Google he has focused on designing more compact, universal image formats and contributed low-level optimizations to major open-source codecs such as libvpx and libaom. His OSS work includes refactoring memory allocation, adding compiler-quality flags, and improving fuzzing/build infrastructure to catch integer overflows and memory issues—efforts that directly improve codec robustness and performance. Colleagues know him for translating research-driven ideas into production-grade systems that balance compression efficiency with speed. He combines academic rigor with practical engineering, often tackling subtle correctness and build-system problems that yield outsized product impact.
14 years of coding experience
3 years of employment as a software developer
M.E., Computer Engg., M.E., Computer Engg. at Indian Institute of Science (IISc)
Experimental School, Surat
B.Tech., Computer Engg., B.Tech., Computer Engg. at National Institute of Technology Surat
Contributions summary:Urvang primarily focused on refactoring and optimizing memory allocation functions within the `libvpx` library. Their contributions include correcting memory allocation issues in `vpx_realloc`, adding compiler flags for better code quality, and implementing a greedy optimization for `av1_optimize_b()` to improve compression and speed. They also addressed warnings generated by `-Wsign-compare` and `-Wshadow`, suggesting a focus on code quality and correctness.
OSS-Fuzz - continuous fuzzing for open source software.
Role in this project:
Automation Engineer / Build & Release Engineer
Contributions:1 review, 12 commits, 14 PRs in 1 month
Contributions summary:Urvang primarily focused on enhancing the build process and fuzzer infrastructure for the libaom project. They introduced threaded modes for the fuzzer, adjusted fuzzer naming conventions, and added a dictionary file. Key contributions include enabling memory limits within the project, adding an "asserts" configuration, and incorporating specific configurations to address integer overflow issues.
oss-fuzzfuzz-testingossvulnerabilitiessecurity
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.