Main / Domagoj Babic's Home Page

Domagoj Babic
[pronunciation: Dom-ah-goy Babich, MP3]

Google, Inc.
Mountain View
CA 94043
Email: babic.domagoj[at]
Public PGP key [TXT]
CV in [PDF], short biography

Domagoj Babic

Welcome to my personal page!

I'm a Staff Scientist at Google, Inc.

My research interests include:


Aug 8, 2016: Hiring in Program Analysis

  • Hiring in program analysis, including abstract interpretation, symbolic execution, dynamic analysis, and (PL-related) machine learning. For more details, see here.

Jun 11, 2016: Presentation of my Team's Work @ FMS Workshop, Affiliated with PLDI

  • If you are planning to be in Santa Barbara on Mon, come and hear what my team is up to. (abstract)

Apr 6, 2016: All intern positions in my team filled

Jan 22, 2016: My Team @ Google Hiring in Static Analysis of Android Apps

  • For more details, see here.

Nov 10, 2015: Research Internships in Program Analysis @ Google

  • My team at Google has a number of research internship openings in program analysis for 2016. Possible topics include the following:
    • Identification of vulnerabilities in Java/Android through static analysis
    • Distributed static analysis of large applications (C++/Java)
    • Dynamic symbolic execution
    • Automated test case generation
  • Internships could start as early as Jan 2016 and as late as Sep 2016, and typically last 14 weeks, but extensions are a possibility. Positions are available in Mountain View, CA and New York, NY.
  • Ideal candidates would have strong research background and solid (C++) programming skills.
  • Please send CVs and referrals to me.

Nov 15, 2014: Research Internship Positions in Program Analysis @ Google

  • We have a number of research internship openings in 2015. Internships could start as early as Jan and as late as Sep 2015, and typically last 14 weeks, but extensions are a possibility. Possible topics include:
    • Dynamic symbolic execution
    • Refinement-based alias analysis
    • Distributed static analysis of large applications
    • Identification of vulnerabilities in Java through static analysis
    • Concurrent data-flow analysis
    • Refining flow-insensitive analyses
  • Ideal candidates would have strong research background and solid (C++) programming skills. Please contact me directly if you can refer a suitable candidate.

Feb 27, 2014: All intern positions filled

  • All the intern positions we had in our group have been filled. Thank you all who applied or referred candidates.

Oct 24, 2013: Research intern position

  • Looking for a research intern at Google for the next summer with background in program analysis and statistics/machine learning. If you know a suitable candidate, please let me know. Thx.

Oct 12, 2013: A new paper

Aug 26, 2013: Busy, busy, busy...

  • I've been fairly busy lately, and haven't had time to update either my page or my FB profile. Here's a short summary of what has been happening in the meantime.
  • Attended CAV in July, it was great as always. My name ended up on the list of 10 most active PC members. Also, gave an invited talk at the (EC)2 workshop.
  • Attended FORTE in June, where I presented the work done with Zvonimir Rakamaric.
  • I've been invited to serve on the PC of the NASA Formal Methods Symposium NFM'14.
  • At Google, I've been busy with several projects and with Google Faculty Awards. I'm currently sponsoring Alessandro Orso's award. The next deadline is Oct 15th this year, please consider applying.

Apr 26, 2013: New Home!

  • I'm delighted to announce that I've joined Google Research in Mountain View, CA.
  • My work with Zvonimir Rakamaric on formal models for distributed asynchronous message-passing systems has been accepted at FORTE'13 and is available here.

Mar 31, 2013: A Practical Approach to SW Synthesis

  • Just submitted a paper about a novel practical approach to SW synthesis. You can find the tech-report version here.

Feb 14, 2013: Batch update...

  • Just realized that I haven't updated my page for a while... Well, here are the news!
  • Got invited to serve on the FSE 2013 committee, new ideas track
  • Will give a tour of talks at the UK universities some time around the end of Feb / beginning of Mar, let me know if you want to meet
  • Lot's of reviewing: almost done with the CAV reviews and just finished my work on reviewing the Facebook Fellowship applications (as a reviewer for one and as a head for another area)
  • Attended POPL, where Matko presented our Sigma* paper

Nov 28, 2012: BotConf 2013

  • Visited JPL and gave a talk. Had great time afterwards discussing research, sightseeing JPL, and learning about how Mars rovers are tested, thank you Gerard Holzmann!
  • Visited Space-X, saw how rockets and engines are designed, manufactured, assembled, and tested. It was especially interesting to see their testbed for the control electronics. Absolutely awesome!
  • Invited to give a talk and serve on the program committee of the First Botnet Fighting conference BotConf'2013

Nov 8, 2012: Finally found time to update the page...

  • The last couple of months have been really busy! I left UC Berkeley, and joined Facebook in September. I'm continuing my work on grammatical inference. More precisely, I'm working on inferring probabilistic stateful models for sequence analysis and prediction (e.g., of user behavior).
  • My paper on inference of symbolic representations of input-output relations of programs with Matko Botincan got accepted at POPL 2013 with great reviews (A,A,B,A)!
  • I've been invited to serve on the CAV 2013 program committee.
  • As about travel plans, I'll be visiting Space-X close to LA on Nov 28th, going to NIPS in December, and to POPL in January.

May 3, 2012: Symbolic Grey-Box Learning of Input-Output Relations

  • A new technical report on learning symbolic input-output relations (i.e., transducers), available be found here.

May 2, 2012: Proving Termination of Nonlinear Command Sequences

  • After 1069 days in reviewing, the paper co-written with Alan Hu, Zvonimir Rakamaric, and Byron Cook, finally accepted for publication in the Formal Aspects of Computing journal. I'll make it available once we put the final touches to it.
  • Update: The final version is now available here.

January 21, 2012: In Philly

  • I'll be at VMCAI/POPL this week.

November 30, 2011: CalMail Problems

  • If you are sending emails to my babic@{,,} addresses, and you don't get a response, assume that I haven't received the email. Please use my personal email in that case (babic.domagoj at

October 3, 2011: Asynchronously Communicating Message-Passing Systems

  • A new technical report on a formal model for asynchronously communicating message-passing systems can be found here. The model supports remote procedure calls and synchronization among queues. Reachability is decidable for the presented model.

August 10, 2011: Conferences and Talks

  • This week, I'm giving a talk at USENIX Security. The talk will be recorded, you will be able to download it from the USENIX page.
  • Next week, I'm visiting MSR Redmond and Intel Strategic CAD Labs in Hillsboro. I'm going to talk about my recent work on an intersection of program analysis, security, and grammatical inference.

July 12, 2011: CAV

June 7, 2011: The MACE Paper Now Available

  • The MACE paper introduces a new approach to automated test generation, combining learning, more precisely grammatical inference, and DART. Grammatical inference is used to infer a high-level model of program's state-space, which is then in turn used to guide exploration. Exploration further refines the model. In experiments, MACE discovered seven new vulnerabilities, some critical, improved code coverage up to 58%, and achieved a much deeper analysis than the baseline approach.

May 23, 2011: Camera-ready Version of the ISSTA'11 Paper Available

  • The paper discusses a new approach to static analysis, applicable to both binaries and source-level analysis. It's a three-layer sandwich approach, where static analysis is enclosed in between two layers of dynamic analysis. The first layer of dynamic analysis constructs an underapproximation of control-flow (for binaries), the second layer performs static analysis on the underapproximation, identifying vulnerabilities, and the third stage uses the static analysis to guide dynamic analysis to construct a crasher for the found vulnerabilities.

May 22, 2011: Missing S&P

  • Due to an administrative mistake at UCB, my S&P registration was not processed in time frowning smiley . The registration was closed when they filled the quota, meaning I'll have to miss S&P frowning smiley .
  • Update: What a turn of luck! Sadly, a registered attendee had to undergo an urgent surgery, and texted to the organizers he won't be able to make it to the conference. Thus, I got the ticket. There are still 60 people on the waiting list.

May 13, 2011: New Office

  • I've moved to Soda 421, because the whole wing of the 5th floor is going to be under reconstruction soon.

May 11, 2011: OSQ Retreat

  • For the next three days, I'm attending the UC Berkeley's Open Source Quality retreat in Santa Cruz.

May 7, 2011: Theory of Computation as a Lens on the Sciences

  • This two-day conference at UC Berkeley has an amazing lineup of talks on the role of computation in sciences. It's a must-attend.
  • Update: After the first day, I can say that's one of the best conferences I've ever attended, amazing research and all talks were excellent.

Apr 20, 2011: The CAV'11 Paper Available

Apr 17, 2011: Model-inference-Assisted Concolic Execution

  • My paper on model-inference-assisted concolic execution just accepted at USENIX Security 2011. You can read a bit more about the project here.

Apr 14, 2011: Statically-Directed Test Generation

  • My paper on statically-directed test generation just accepted at ISSTA 2011. The camera-ready version will be available on my web site in a few weeks...

Mar 21, 2011: Malware Detection with Tree Automata Inference

  • My paper on malware detection with tree automata inference has just been accepted at CAV 2011. I'll make the camera-ready version available on my web site in a week-or-so.

Feb 28, 2011: Facebook!

  • I've finally created a Facebook account. happy smiley Occasionally, I've been getting comments that people connected to me on Facebook... If you are one of those people, you were connected to the wrong guy! happy smiley

Feb 17, 2011: My GPS Goes Haywire

  • The last two days, my GPS has been reminding me on why software quality is so important... I've never seen an electronic device going haywire in such a weird way: First, positioning is a bit off. Instead of positioning me on the highway, it often positions me half a block away. Second, when I stop at intersections, it starts rotating the map, like it's suffering from vertigo. Third, many favorites and spots I saved are now displayed partially in Chinese and partially in the default Latin alphabet (!?). Fourth, the routing stopped working properly. It roughly guesses the route, but it is not the same route as it was before, and it's partially the wrong route. For instance, it guesses the highway I need to take correctly, and completely messes up the small roads. Fifth, the voice guidance occasionally sounds like a cartoon voice (!?). I'm really wondering what is the cascade of failures that caused such a flood (haven't even listed all!) of seemingly unrelated symptoms.
  • Update (Mar 3): After a few hours of analysis and an hour on the phone with the tech support, I found out the device generated tons of crash dumps over time and somehow managed to corrupt its software. A master reset and a software update together fixed the problem. Digging around for solutions, I realized that the same company produces GPS devices for flight and naval navigation, but I wonder how reliable those devices are...

Feb 16, 2011: Seminal Papers Reading Group

  • I've started a reading group at Berkeley that studies seminal papers in software security, verification, and quality in general. Everyone (willing to actually read the papers) is welcome to join and attend the group. For more info, see the Seminal Papers Reading Group page. You can also subscribe to the mailing list, if interested in discussions and/or digests.

Jan 23, 2011: In Washington

  • I'm going to be in DC for an *ARPA on-site visit for most of this week.

Dec 5, 2010: FBI Busts Alleged Mega D Botnet Mastermind

  • My recent work on Botnet protocol inference and analysis mentioned in the InformationWeek article

Dec 3, 2010: Seminal Papers Reading Group

  • I'm starting a new reading group early next year at Berkeley. The group will study seminal papers in computer science, somewhat focusing on security and software design/analysis/verification/testing. If you have suggestions, please shoot me an email. I've put the threshold around 1000 citations (approximated by Google Scholar).

July 28, 2010: Camera-ready Version of the CCS 2010 Stitching Paper Available

  • The camera-ready version can now be obtained here.

July 27, 2010: Camera-ready Version of the Protocol Inference Paper Available

  • The camera-ready version can now be obtained here. I'll make the other CCS (stitching) paper available in a couple of days.

July 23, 2010: Byron Gives a Cool Talk at UC Berkeley

  • Byron visited Berkeley and gave a really neat talk about branching time reasoning for infinite-state systems. While sipping coffee in the morning, we figured out how similar our early career stories are. I thought I had bad luck after graduating, but Byron was really in dire straits, which makes his success even more impressive.

June 21, 2010: Two Papers Accepted at CCS 2010

Older entries in my mini-blog can be found in Old News.

Page last modified on August 09, 2016, at 12:35 AM