Antal Gábor Applying Code Analysis and Machine Learning Techniques to Improve Compatibility and Security of Programs. [Thesis]