differential program analysis