I am going to present my experience to use machine learning
techniques for automatically adapting a program analysis to a given
verification task. Building a cost-effective static analyzer for
real-world programs is regarded an art, mainly because of the
difficulty in balancing the cost and the precision of an analyzer. An
ideal analyzer should be able to adapt to a given analysis task
automatically, and avoid using techniques that unnecessarily improve
precision and increase analysis cost. However, designing a good
adaptation strategy is highly nontrivial, and it requires a large
amount of engineering efforts. In this talk, I will describe my
on-going research that aims to automate this procedure by
learning a good strategy from existing codebases.