GENERATIVE MODELS FOR SOURCE CODE: FINE-TUNING TECHNIQUES FOR STRUCTURED PATTERN LEARNING