A semantic approach to automatic program improvement | lit.salon