Girish Mururu

Senior Software Engineer

Bengaluru, Karnataka, India9 yrs 2 mos experience
AI EnabledAI ML Practitioner

Key Highlights

  • Expert in malware detection and static program analysis.
  • Proven track record in compiler optimization techniques.
  • Strong background in developing distributed systems.
Stackforce AI infers this person is a Backend-heavy Fullstack Engineer specializing in cybersecurity and compiler technologies.

Contact

Skills

Core Skills

Software SecurityMachine LearningCompiler OptimizationCode Size ReductionMalware AnalysisStatic Program AnalysisCompilersDistributed SystemsClangDevice Drivers

Other Skills

Artificial Intelligence (AI)C++ARM ArchitectureLD64LLVMTelemetrySoftware DevelopmentCybersecuritygRPCProgrammingSQLCloud ComputingAlgorithmsObject-Oriented Programming (OOP)flume

About

I currently work on building agents and agentic infra for android malware detection and review at Google. Before this, I worked on app size reduction using compiler techniques at Bytedance (TikTok). Previously I worked on static program analysis for malware detection and policy violation in Android at Google. I also worked on distributed tracing (telemetry) at scale at Google. I graduated with a Phd in computer science from Georgia Tech. My interest lies in using static program analysis/compilers for security and/or performance improvements. Back at Google, I have resumed working for Team Adversarial Program Analysis with building infrastructure for running and benchmarking agents and building new agents for malware detection and review. At Bytedance, I worked on a proposal and prototype of Differential Outlining: outlining of similar instruction sequences. Towards this, I also invented an ML-based technique to efficiently find such similar sequences. At Google, as part of team Adversarial program analysis (TAPA), I designed and built a new android framework analysis pipeline to statically analyze OEM android frameworks. I also designed and prototyped heuristic reachability analysis to improve the precision of reachability analysis and thus precision of malware detection. Building on top of heuristic reachability, I also proposed ML-based reachability analysis for an internship project that was approved by the team. Prior to TAPA, I worked on distributed tracing within Google. As 20% project, I also worked on enabling the training of ML models for inlining optimization as part of the MLGO project. During my Phd, I had the opportunity to explore using compilers and static and runtime analysis for improving the security, performance, and other properties of systems. Some of the works are published in OOPSLA, PLDI, CGO, ICPP conferences. During my PhD, I interned at VMware, where I built wrapper libraries for distributed systems Infrastructure. I also interned at Intel, where I prototyped parallel constructs such as task block for C++ and C in clang and LLVM. Prior to joining Georgia Tech, I worked at Intel india as a Graphics Software Engineer for two years, during which i worked on prototyping new experimental display protocols and building new features in intel graphics display driver. All the works mentioned above were possible because of my wonderful colleagues with whom I had the opportunity to work with.

Experience

9 yrs 2 mos
Total Experience
1 yr 10 mos
Average Tenure
1 yr 9 mos
Current Experience

Google

Senior Software Engineer

Aug 2024Present · 1 yr 9 mos · India · Hybrid

  • Building agents, agentic infra and infra for agents to detect malware and make Android safe.
Artificial Intelligence (AI)C++Compiler OptimizationMachine LearningSoftware security

Tiktok

Senior Software Engineer

May 2023Jul 2024 · 1 yr 2 mos · San Jose, California, United States · On-site

  • Working on novel LD64 optimization to reduce size of mobile applications,
  • Proposed and developed Differential Outlining: outlining similar instruction sequences.
  • Developed novel technique to find similar instruction sequences as part of Differential Outlining
ARM ArchitectureCompiler OptimizationMachine LearningCode size ReductionLD64LLVM+1

Google

Software Engineer

Aug 2020Mar 2023 · 2 yrs 7 mos · Mountain View, California, United States · On-site

  • As part of team Adversarial program analysis (TAPA), which statically detects malware in android apps, SDKs, and frameworks, I designed and built a new android framework analysis pipeline to statically analyze OEM android frameworks. I also designed and prototyped heuristic reachability analysis to improve the precision of reachability analysis and help in improving the coverage of malware detection. Furthermore, building on heuristic-reachability analysis, I also proposed ML-based reachability analysis for an internship project that was approved by the team. I was also involved in detecting dynamic code loading within apps, detecting permission usage in SDKs. Prior to TAPA, I worked on distributed tracing within Google where I designed and implemented bucketed sampling of traces to collect traces of different RPCs in google services. I also had the opportunity to contribute to ML Guided Optimization (MLGO) for speed (O3) by developing a training pipeline for O3 optimization and experimenting for possible improvements over default O3 inlining.
C++TelemetrySoftware DevelopmentMachine LearningMalware AnalysisArtificial Intelligence (AI)+12

Georgia institute of technology

2 roles

Graduate Research Assistant

Promoted

Jan 2019Aug 2020 · 1 yr 7 mos · Atlanta, Georgia, United States · On-site

  • For improving system security, I worked on a compiler-aided scheduler to detect and mitigate cache-based side-channel attacks. We leveraged the compiler to learn a linear regression model of cache-misses and predict the cache-misses of each loop in an application. The predicted cache-misses was then used by the scheduler to detect and mitigate cache-based side-channel attacks. I also worked on software-debloating for security, in which we inverted the conventional software debloating of cutting what is not needed approach to getting only what is needed approach resulting in much lower attack surface and enabling security against some kind of attacks previously not handled by control-flow integrity (CFI) mechanism. This work was published in PLDI 2020. I was also part of our work to determine the security challenges introduced by compiler optimizations which was published in OOPSLA 2021.
  • For improving system performance, I worked on reducing unnecessary application migrations especially when processes are executing in a memory-reuse intensive region by determining such phases in applications through program analysis which resulted in up to 2x speedup gains. Further, to achieve very high throughput of batch jobs, I worked on developing a scheduler that processes compiler inserted beacon, which transmit applications’ dynamic information to the scheduler at runtime, which resulted in the throughput gain of as much as 4.7x on ThunderX and 5.2x on ThunderX2 machines. I also extended the scheduler for better co-location of applications for achieving low latency.
  • I modeled non-determinism in parallel programs to determine compiler optimization levels for generating robust versions of the program and for easy reproduction of bugs published in ICPP 2020. I extended this model of non-determinism in parallel lock-based programs to Software Transactional Memory (STM) and used it to guide the STM to reduce variance in execution which was published in CGO 2019.
C++Parallel ProcessingSoftware DevelopmentOperating SystemsArtificial Intelligence (AI)Cybersecurity+11

Graduate Teaching Assistant

Aug 2016Dec 2018 · 2 yrs 4 mos · Atlanta, Georgia, United States · On-site

  • I was the head teaching assistant for Compilers :Theory & Practice for Fall 2018, Spring 2017, Summer 2017, Fall 2017, Fall 2016. I designed a framework for the online course project to build a compiler for a C subset language. I guided students in implementing a complete compiler for a C subset language targeting MIPS ISA.
Software DevelopmentProgrammingAlgorithmsObject-Oriented Programming (OOP)

Vmware

Intern

May 2016Jul 2016 · 2 mos · Palo Alto, California, United States · On-site

  • As an intern in Cloud Platform Architecture, I implemented a wrapper library, Panda, for distributed services. Panda used curator and corfuDB as underlying libraries thus providing a single interface such that the underlying libraries can be switched without breaking dependencies.
Software DevelopmentMavenProgrammingJavaCloud ComputingGit+4

Intel corporation

Intern

May 2015Jul 2015 · 2 mos · Nashua, New Hampshire, United States · On-site

  • As a Parallel Language Compiler Intern, I worked on proof of concept of proposed changes to C and C++ languages. Specifically I developed support for task parallelism in Clang/LLVM for C and C++.
C++ClangSoftware DevelopmentProgrammingGitLLVM+4

Georgia institute of technology

Graduate Teaching Assistant

Aug 2014Apr 2015 · 8 mos · Atlanta, Georgia, United States · On-site

  • I was one of the teaching assistants for Embedded Software course. I got the opportunity to design one of the course projects in Vex.
Embedded SoftwareSoftware DevelopmentProgrammingAlgorithmsObject-Oriented Programming (OOP)

Intel corporation

2 roles

Graphics Software Engineer

Jun 2011Jul 2013 · 2 yrs 1 mo · Bengaluru, Karnataka, India · On-site

  • I worked on developing drivers of different display protocols such as HDMI, DP.. I implemented new features such as smooth scaling in intel display driver. I worked on the proof of concept for new display protocol – USBAV protocol. I also got to Implement interrupt handling for the Intel Gen 6 processor (Skylake).
Embedded SoftwareSoftware DevelopmentC (Programming Language)ProgrammingDevice DriversAlgorithms+1

Intern

Jan 2011May 2011 · 4 mos · Bengaluru, Karnataka, India · On-site

  • As a Graphics Software intern, I designed and developed a tool to validate display configuration of the Intel Gen 3 processor (Ivybridge) which enabled OEMs to design suitable display configs.
Software DevelopmentProgrammingAlgorithmsObject-Oriented Programming (OOP)

Ittiam systems pvt ltd

Intern

Jun 2010Aug 2010 · 2 mos · Bengaluru, Karnataka, India · On-site

  • I designed and developed a statistics-collection module for multi-threaded applications in embedded systems.
Software DevelopmentProgrammingAlgorithmsObject-Oriented Programming (OOP)

Education

Georgia Institute of Technology

Doctor of Philosophy - PhD — Computer Science

Jan 2015Aug 2020

Georgia Institute of Technology

Master of Science - MS — Computer Science

Aug 2013Dec 2014

RV College Of Engineering

Bachelor of Engineering (BE) — Computer Science

Aug 2007Jun 2011

Stackforce found 100+ more professionals with Software Security & Machine Learning

Explore similar profiles based on matching skills and experience