Understanding and Implementing Deep Neural Networks for Unconditional Source Code Generation

dc.contributor.advisorGómez Perdomo, Jonatan (Thesis advisor)
dc.contributor.advisorNader Palacio, David Alberto (Thesis co-advisor)
dc.contributor.authorRodriguez Caicedo, Alvaro Dario
dc.contributor.researchgroupAlife: Grupo de Investigación en Vida Artificialspa
dc.date.accessioned2022-10-25T15:11:16Z
dc.date.available2022-10-25T15:11:16Z
dc.date.issued2022-07-15
dc.descriptionilustraciones, gráficasspa
dc.description.abstractCode Generation is a relevant problem in computer science, supporting the automation of tasks such as code completion, program synthesis, and program translation. In recent years, Deep Learning approaches have gained popularity in the code generation problem, and some of these approaches leverage Language Models. However, the existing studies mainly focus on evaluation using machine learning metrics. Additionally, the generation process can be classified into conditional or unconditional (i.e., open-ended) approaches depending on the input context provided to the models. This research proposes CodeGenXplainer, a suite of interpretability methods for Unconditional Language Models of source code. CodeGenXplainer comprises four methods leveraging multiple source code features such as embedding representations, code metrics, compilation errors, and token distributions. Additionally, this research presents an empirical study to validate CodeGenXplainer using publicly available data and extensive sampling of code snippets. Furthermore, CodeGenXplainer provides a base conceptual framework that allows studying multiple complementary perspectives based on machine-generated code. Results show that the studied models can generate code exhibiting similar properties to human code, particularly in terms of code metrics, compilation errors, and token-level information; nonetheless, machine-generated code presents issues with the semantic elements of the code. (Texto tomado de la fuente)eng
dc.description.abstractLa generación de código es un problema relevante en ciencias de la computación, que soporta la automatización de tareas como completado de código, síntesis y traducción de programas. En los últimos años, los enfoques de aprendizaje profundo han ganado popularidad en el problema de generación de código y algunos de estos enfoques están basados en modelos de lenguaje. Sin embargo, los estudios existentes se centran principalmente en la evaluación utilizando métricas de aprendizaje automático. Adicionalmente, el proceso de generación se puede clasificar en enfoques condicionales o incondicionales (es decir, open-ended) según el contexto de entrada proporcionado a los modelos. Esta investigación propone CodeGenXplainer, un conjunto de métodos de interpretabilidad para modelos de lenguaje no condicionados de código fuente. CodeGenXplainer comprende cuatro métodos que aprovechan múltiples características de código fuente, como representaciones abstractas, métricas de código, errores de compilación y distribuciones de tokens. Además, esta investigación presenta un estudio empírico para validar CodeGenXplainer utilizando datos disponibles públicamente y muestreo extensivo de fragmentos de código. Por otra parte, CodeGenXplainer proporciona un marco conceptual base que permite estudiar múltiples perspectivas complementarias basadas en código generado por máquina. Los resultados muestran que los modelos estudiados pueden generar código que exhibe propiedades similares al código humano, particularmente en términos de métricas de código, errores de compilación e información a nivel de token; no obstante, el código generado por máquina presenta problemas con los elementos semánticos del código.spa
dc.description.degreelevelMaestríaspa
dc.description.degreenameMagíster en Ingeniería - Ingeniería de Sistemas y Computaciónspa
dc.description.researchareaSistemas inteligentesspa
dc.description.researchareaIngeniería de softwarespa
dc.format.extentxi, 112 páginasspa
dc.format.mimetypeapplication/pdfspa
dc.identifier.instnameUniversidad Nacional de Colombiaspa
dc.identifier.reponameRepositorio Institucional Universidad Nacional de Colombiaspa
dc.identifier.repourlhttps://repositorio.unal.edu.co/spa
dc.identifier.urihttps://repositorio.unal.edu.co/handle/unal/82449
dc.language.isoengspa
dc.publisherUniversidad Nacional de Colombiaspa
dc.publisher.branchUniversidad Nacional de Colombia - Sede Bogotáspa
dc.publisher.facultyFacultad de Ingenieríaspa
dc.publisher.placeBogotá, Colombiaspa
dc.publisher.programBogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computaciónspa
dc.relation.indexedRedColspa
dc.relation.indexedLaReferenciaspa
dc.relation.references[1] Karan Aggarwal, Mohammad Salameh, and Abram Hindle. Using Machine Translation for Converting Python 2 to Python 3 Code. Tech. rep. Oct. 2015. doi: 10 . 7287 / peerj . preprints . 1459v1. url: https://dx.doi.org/10.7287/peerj.preprints.1459v1spa
dc.relation.references[2] Vahid Alizadeh and Marouane Kessentini. “Reducing interactiverefactoring effort via clustering-based multi-objective search”. In: ASE 2018 - Proceedings of the 33rd ACM/IEEE International Conference on Automated SoftwarNew York, NY, USA: Association for Computing Machinery, Inc, Sept. 2018, pp. 464–474. isbn: 9781450359375. doi: 10 . 1145 / 3238147 . 3238217. url: https://dl.acm.org/doi/10.1145/3238147.3238217spa
dc.relation.references[3] Miltiadis Allamanis et al. “A survey of machine learning for big code and natural- ness”. In: arXiv 1414172 (2017), pp. 1–36. issn: 23318422spa
dc.relation.references[4] Miltiadis Allamanis et al. Learning Natural Coding Conventions. Tech. rep. url: https://dl.acm.org/doi/10.1145/2635868.2635883spa
dc.relation.references[5] Uri Alon et al. “code2vec: Learning distributed representations of code”. In: arXiv (2018). issn: 23318422. doi: 10.1145/3290353spa
dc.relation.references[6] Pavol Bielik, Veselin Raychev, and Martin Vechev. “PHOG: Probabilistic model for code”. In: 33rd International Conference on Machine Learning, ICML 2016 6 (2016), pp. 4311–4323.spa
dc.relation.references[7] Pierre Bourque and Richard E. Fairley. Guide to the Software Engineering Body of Knowledge SW Tech. rep. IEEE Computer Society, 2014.spa
dc.relation.references[8] Lutz Buch and Artur Andrzejak. “Learning-Based Recursive Aggregation of Abstract Syntax Trees for Code Clone Detection”. In: SANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis (Mar. 2019), pp. 95–104. doi: 10.1109/SANER.2019.8668039. 103 BIBLIOGRAPHY 104spa
dc.relation.references[9] Nikhil Buduma and Nicholas Locascio. Fundamentals of deep learning : designing next-generation Ed. by Mike Loukides and Shannon Cutt. First. O’Reilly Media, Inc, 2017. isbn: 1491925612. url: https://books.google.com/books/about/Fundamentals_of_Deep_Learning.html?id=EZFfrgEACAAJspa
dc.relation.references[10] Diogo V. Carvalho, Eduardo M. Pereira, and Jaime S. Cardoso. “Machine Learning Interpretability: A Survey on Methods and Metrics”. In: Electronics 8.8 (July 2019), p. 832. issn: 2079-9292. doi: 10.3390/electronics8080832. url: https://www.mdpi.com/2079-9292/8/8/832.spa
dc.relation.references[11] Chaofan Chen et al. “This Looks Like That: Deep Learning for Interpretable Image Recognition”. In: arXiv (June 2018). url: http://arxiv.org/abs/1806.10574spa
dc.relation.references[12] Chunyang Chen et al. “From UI design image to GUI skeleton: A neural machine translator to bootstrap mobile GUI implementation”. In: Proceedings - International Conference on Software Engineering 6 (2018), pp. 665–676. issn: 02705257. doi: 10.1145/3180155.3180240spa
dc.relation.references[13] Jianbo Chen et al. “Learning to Explain: An Information-Theoretic Perspective on Model Interpretation”. In: 35th International Conference on Machine Learning, ICML 2018 2 (Feb. 2018), pp. 1386–1418. url: http://arxiv.org/abs/1802.07814spa
dc.relation.references[14] Mark Chen et al. “Evaluating Large Language Models Trained on Code”. In: (July 2021). doi: 10.48550/arxiv.2107.03374. url: https://arxiv.org/abs/2107.03374v2spa
dc.relation.references[15] Zimin Chen and Martin Monperrus. “A Literature Study of Embeddings on Source Code”. In: (Apr. 2019). url: https://arxiv.org/abs/1904.03061v1spa
dc.relation.references[16] Kyunghyun Cho et al. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. In: (Jun. 2014). url: https://arxiv.org/abs/1406.1078spa
dc.relation.references[17] Thomas M. Cover and Joy A. Thomas. “Elements of Information Theory”. In: Elements of Information Theory (Apr. 2005), pp. 1–748. doi:10.1002/047174882X. url: https://onlinelibrary.wiley.com/doi/book/10.1002/047174882X.spa
dc.relation.references[18] Juan Cruz-Benito et al. "Automated Source Code Generation and Auto-completion Using Deep Learning: Comparing and Discussing Current Language-Model-Related Approaches". In: (Sep 2020) url: https://arxiv.org/abs/2009.07740spa
dc.relation.references[19] Shiyong Cui and Mihai Datcu. “Comparison of Kullback-Leibler divergence approximation methods between Gaussian mixture models for satellite image retrieval”. https://ieeexplore.ieee.org/abstract/document/7326631/.spa
dc.relation.references[20] Hoa Khanh Dam, Truyen Tran, and Aditya Ghose. “Explainable Software Analytics”. In: Proceedings - International Conference on Software Engineering (Feb. 2018), pp. 53–56. url: http://arxiv.org/abs/1802.00603 BIBLIOGRAPHY 105spa
dc.relation.references[21] Jacob Devlin et al. “Semantic Code Repair using Neuro-Symbolic Transformation Networks”. In: (Oct. 2017). doi:10 .48550/arxiv.1710 . 11054. url: https://arxiv.org/abs/1710.11054v1spa
dc.relation.references[22] Amit Dhurandhar et al. “Explanations based on the Missing: Towards Contrastive Explanations with Pertinent Negatives”. In: Advances in Neural Information Processing Systems 2018-Decem (Feb. 2018), pp. 592–603. url: http://arxiv.org/abs/1802.07623spa
dc.relation.references[23] Finale Doshi-Velez and Been Kim. "Towards A Rigorous Science of Interpretable Machine Learning". Tech. rep. url: https://arxiv.org/abs/1702.08608spa
dc.relation.references[24] Angela Fan, Mike Lewis, and Yann Dauphin. “Hierarchical Neural Story Generation”. In: ACL 2018 - 56th Annual Meeting of the Association for Computational Linguistics, Pro 1 (May 2018), pp. 889–898. doi:10.48550/arxiv . 1805 . 04833. url: https ://arxiv.org/abs/1805.04833v1spa
dc.relation.references[25] Jessica Ficler and Yoav Goldberg. “Controlling Linguistic Style Aspects in Neural Language Generation”. In: (Jul. 2017). url: https://arxiv.org/abs/1707.02633spa
dc.relation.references[26] Ruth Fong and Andrea Vedaldi. “Net2Vec: Quantifying and Explaining how Concepts are Encoded by Filters in Deep Neural Networks”. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Jan. 2018), pp. 8730–8738. url: http://arxiv.org/abs/1801.03454spa
dc.relation.references[27] Xiaodong Gu et al. “Deep API Learning”. In: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering 13-18-Nove (May 2016), pp. 631–642. url: http://arxiv.org/abs/1605.08535spa
dc.relation.references[28] Sumit Gulwani, Oleksandr Polozov, and Rishabh Singh. Program Synthesis. now publishers, 2017. isbn: 9781680832921. url: https://www.nowpublishers.com/article/Details/PGL-010spa
dc.relation.references[29] Tihomir Gvero and Viktor Kuncak. “Synthesizing Java expressions from free-form queries”. In: OOPSLA '87: Conference proceedings on Object-oriented programming systems, languages and applications 25-30-Oct- (2015), pp. 416–432. doi: 10.1145/2814270.2814295. url: https://dl.acm.org/doi/10.1145/2858965.2814295spa
dc.relation.references[30] M Harman et al. “Achievements, open problems and challenges for search based software testing”. In: ieeexplore.ieee.org . url: https://ieeexplore.ieee.org/abstract/document/7102580/spa
dc.relation.references[31] Simon Haykin et al. Neural Networks and Learning Machines Third Edition. 2009. isbn: 9780131471399.spa
dc.relation.references[32] R Hellebrand et al. “Coevolution of variability models and code: An industrial case study”. In: ACM International Conference Proceeding Series 1 (2014), pp. 274–283. doi: 10.1145/2648511.2648542. url: https://dl.acm.org/doi/10.1145/2648511.2648542. BIBLIOGRAPHY 106spa
dc.relation.references[33] Vincent J. Hellendoorn and Premkumar Devanbu. “Are deep neural networks the best choice for modeling source code?” In: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering Part F1301 (2017), pp. 763–773. doi: 10.1145/3106237.3106290. url: https://dl.acm.org/doi/10.1145/3106237.3106290spa
dc.relation.references[34] John R. Hershey and Peder A. Olsen. “Approximating the Kullback Leibler divergence between Gaussian mixture models”. In: ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceeding 4 (2007). issn: 15206149. doi: 10.1109/ICASSP.2007.366913. url: https://ieeexplore.ieee.org/document/4218101spa
dc.relation.references[35] Abram Hindle et al. “On the naturalness of software”. In: Proceedings - International Conference on Software Engineering June 2014 (2012), pp. 837–847. issn: 02705257. doi: 10.1109/ICSE.2012.6227135. url: https://dl.acm.org/doi/10.5555/2337223.2337322spa
dc.relation.references[36] Sepp Hochreiter and Jürgen Schmidhuber. “Long Short-Term Memory”. In: Neural Computation 9.8 (Nov. 1997), pp. 1735–1780. issn: 08997667. doi:10.1162/NECO.1997.9.8.1735.spa
dc.relation.references[37] Ari Holtzman et al. “The Curious Case of Neural Text Degeneration”. In: CEUR Workshop Proceedings 2540 (Apr. 2019). issn: 16130073. doi: 10.48550/arxiv.1904.09751. url: https://arxiv.org/abs/1904.09751v2spa
dc.relation.references[38] Jirayus Jiarpakdee. “Towards a more reliable interpretation of defect models”. In: Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Institute of Electrical and Electronics Engineers Inc., May 2019, pp. 210–213. isbn: 9781728117645. doi: 10.1109/ICSE-Companion.2019.00084.spa
dc.relation.references[39] Jirayus Jiarpakdee, Chakkrit Tantithamthavorn, and Christoph Treude. “AutoSpearman: Automatically Mitigating Correlated Metrics for Interpreting Defect Models”. In: Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution, ICSM (June 2018), pp. 92–103. url: http://arxiv.org/abs/1806.09791spa
dc.relation.references[40] Jirayus Jiarpakdee, Chakkrit Tantithamthavorn, and Christoph Treude. “The impact of automated feature selection techniques on the interpretation of defect models”. In: Empirical Software Engineering 25.5 (Sept. 2020), pp. 3590–3638. issn: 15737616. doi: 10.1007/s10664-020-09848-1. url: https://link.springer.com/article/10.1007/s10664-020-09848-1spa
dc.relation.references[41] Jirayus Jiarpakdee et al. “An Empirical Study of Model-Agnostic Techniques for Defect Prediction Models”. In: IEEE Transactions on Software Engineering (Mar. 2020), pp. 1–1. issn: 0098-5589. doi: 10.1109/tse.2020.2982385. url: https://ieeexplore.ieee.org/document/9044387/spa
dc.relation.references[42] Dan Jurafsky and James H Martin. "Speech and Language Processing, An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition" 3rd. 2019. url: https://web.stanford.edu/~jurafsky/slp3/. BIBLIOGRAPHY 107spa
dc.relation.references[43] Rafael Michael Karampatsis et al. “Big code != big vocabulary: Open-vocabulary models for source code”. In: Proceedings - International Conference on Software Engineering (2020), pp. 1073–1085. issn: 02705257. doi: 10.1145/3377811.3380342. url: https://arxiv.org/abs/2003.07914spa
dc.relation.references[44] Anjan Karmakar and Romain Robbes. “What do pre-trained code models know about code?” In: (Aug. 2021), pp. 1332–1336. doi: 10.48550/arxiv.2108.11308. url: https://arxiv.org/abs/2108.11308v1spa
dc.relation.references[45] Andrej Karpathy, Justin Johnson, and Li Fei-Fei. "Visualizing And Understanding Recurrent Networks". Tech. rep. In: (Jun. 2015) url: https://arxiv.org/abs/1506.02078spa
dc.relation.references[46] Taghi M. Khoshgoftaar and Edward B. Allen. “Applications of information theory to software engineering measurement”. In: Software Quality Journal 1994 3:2 3.2 (June 1994), pp. 79–103. issn: 1573-1367. doi: 10.1007/BF00213632. url: https://link.springer.com/article/10.1007/BF00213632spa
dc.relation.references[47] Joe Kilian and Hava T. Siegelmann. “The Dynamic Universality of Sigmoidal Neural Networks”. In: Information and Computation 128.1 (July 1996), pp. 48–56. issn: 0890-5401. doi: 10.1006/INCO.1996.0062.spa
dc.relation.references[48] Been Kim, Rajiv Khanna, and Oluwasanmi Koyejo. "Examples are not Enough, Learn to Criticize! Criticism for Interpretability". Tech. rep. 2016. url: https://dl.acm.org/doi/10.5555/3157096.3157352spa
dc.relation.references[49] Been Kim et al. “Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV)”. In: 35th International Conference on Machine Learning, ICML 2018 6 (Nov. 2017), pp. 4186–4195. url: http://arxiv.org/abs/1711.11279spa
dc.relation.references[50] Quoc V. Le and Tomas Mikolov. “Distributed Representations of Sentences and Documents”. In: 31st International Conference on Machine Learning, ICML 2014 4 (May 2014), pp. 2931–2939. url: http://arxiv.org/abs/1405.4053spa
dc.relation.references[51] Series Editor Richard Leblanc et al. “Software Metrics : A Rigorous and Practical Approach, Third Edition”. In: (Oct. 2014). doi: 10.1201/B17461. url: https://www.taylorfrancis.com/books/mono/10.1201/b17461/software-metrics-norman-fenton-james-bieman.spa
dc.relation.references[52] Y Li et al. “A multi-objective and cost-aware optimization of requirements assignment for review”. In: 2017 IEEE Congress on Evolutionary Computation, CEC 2017 - Proceedings. School of Computer Science and Engineering, Beihang University, Beijing, China, 2017, pp. 89–96. doi: 10.1109/CEC.2017.7969300. url: https://ieeexplore.ieee.org/document/7969300spa
dc.relation.references[53] Jianhua Lin. “Divergence Measures Based on the Shannon Entropy”. In: IEEE Transactions on Information Theory 37.1 (1991), pp. 145–151. issn: 15579654. doi: 10.1109/18.61115.spa
dc.relation.references[54] Peter J. Liu et al. “Generating Wikipedia by Summarizing Long Sequences”. In: 6th International Conference on Learning Representations, ICLR 2018 - Conference Track Proceedings (Jan. 2018). doi: 10.48550/arxiv.1801.10198. url: https://arxiv.org/abs/1801.10198v1spa
dc.relation.references[55] Scott Lundberg and Su-In Lee. “A Unified Approach to Interpreting Model Predictions”. In: Advances in Neural Information Processing Systems 2017-Decem (May 2017), pp. 4766–4775. url: http://arxiv.org/abs/1705.07874spa
dc.relation.references[56] Thainá Mariani and Silvia Regina Vergilio. “A systematic review on search-based refactoring”. In: Information and Software Technology 83 (Mar. 2017), pp. 14–34. issn: 09505849. doi: 10.1016/j.infsof.2016.11.009spa
dc.relation.references[57] Stephen Marsland. Machine Learning: An Algorithmic Perspective, Second Edition - 2nd Edit.Chapman and Hall/CRC, 2014. url: https://www.routledge.com/Machine-Learning-An-Algorithmic-Perspective-Second-Edition/Marsland/p/book/9781466583283spa
dc.relation.references[58] R. Thomas McCoy et al. “How much do language models copy from their training data? Evaluating linguistic novelty in text generation using RAVEN”. In: (Nov. 2021). url: https://arxiv.org/abs/2111.09509v1spa
dc.relation.references[59] Leland McInnes, John Healy, and James Melville. “UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction”. In: (Feb. 2018). doi: 10.48550/arxiv.1802.03426. url: https://arxiv.org/abs/1802.03426v3spa
dc.relation.references[60] Tomas Mikolov et al. “Efficient Estimation of Word Representations in Vector Space”. In: 1st International Conference on Learning Representations, ICLR 2013 - Workshop Track (Jan. 2013). doi: 10.48550/arxiv.1301.3781. url: https://arxiv.org/abs/1301.3781v3spa
dc.relation.references[61] Christoph Molnar. "Interpretable Machine Learning". 1st. Lulu (eBook), 2019. url: https://christophm.github.io/interpretable-ml-book/spa
dc.relation.references[62] Grégoire Montavon, Wojciech Samek, and Klaus-Robert Müller. “Methods for Interpreting and Understanding Deep Neural Networks”. In: Digital Signal Processing: A Review Journal 73 (June 2017), pp. 1–15. doi:10.1016/j.dsp.2017.10.011. url: https://arxiv.org/abs/1706.07979spa
dc.relation.references[63] David Nader and Jonatan Gómez. “A Computational Solution for the Software Refactoring Problem: From a Formalism Toward an Optimization Approach”. url: https://repositorio.unal.edu.co/handle/unal/62057spa
dc.relation.references[64] An Nguyen. “Language Model Evaluation in Open-ended Text Generation”. In:(Aug. 2021). doi: 10.48550/arxiv.2108.03578. url: https://arxiv.org/abs/2108.03578v1spa
dc.relation.references[65] Tung Thanh Nguyen et al. “A statistical semantic language model for source code”. In: 2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOF New York, New York, USA: ACM Press, 2013, pp. 532–542. isbn: 9781450322379. doi: 10.1145/2491411.2491458. url: https://dl.acm.org/doi/10.1145/2491411.2491458spa
dc.relation.references[66] Koichi Odajima et al. “Greedy rule generation from discrete data and its use in neural network rule extraction”. In: Neural Networks 21.7 (Sept. 2008), pp. 1020–1028. issn: 08936080. doi:10.1016/j. neunet.2008.01.003. url: https://pubmed.ncbi.nlm.nih.gov/18442894/spa
dc.relation.references[67] Alec Radford Openai et al. “Improving Language Understanding by Generative Pre-Training”. url: https://openai.com/blog/language-unsupervised/.spa
dc.relation.references[68] Ali Ouni et al. “MORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells”. In: Journal of Software: Evolution and Process 29.5 (May 2017). issn: 20477481. doi:10.1002/smr.1843spa
dc.relation.references[69] Josh Patterson and Adam Gibson. "Deep Learning A Practitioner’s Approach". 2017. url: https://books.google.com.co/books?id=BdPrrQEACAAJ.spa
dc.relation.references[70] Tejaswini Pedapati et al. “Learning Global Transparent Models Consistent with Local Contrastive Explanations”. In: (Feb. 2020). url: http://arxiv.org/abs/2002.08247spa
dc.relation.references[71] Miltiadis Allamanis et al. “A Survey of Machine Learning for Big Code and Naturalness”. url: https://arxiv.org/abs/1709.06182spa
dc.relation.references[72] Krishna Pillutla et al. “MAUVE: Measuring the Gap Between Neural Text and Human Text using Divergence Frontiers”. In: (Feb. 2021). url: https://arxiv.org/abs/2102.01454v3spa
dc.relation.references[73] Gregory Plumb et al. “Regularizing Black-box Models for Improved Interpretability”. In: arXiv (Feb. 2019). url: http://arxiv.org/abs/1902.06787spa
dc.relation.references[74] Yewen Pu et al. “sk p: a neural program corrector for MOOCs”. In: SPLASH Companion 2016 - Companion Proceedings of the 2016 ACM SIGPLAN International Conference (July 2016), pp. 39–40. url: http://arxiv.org/abs/1607.02902spa
dc.relation.references[75] Alec Radford et al. “Language Models are Unsupervised Multitask Learners”. url: https://openai.com/blog/better-language-models/spa
dc.relation.references[76] Karthikeyan Natesan Ramamurthy et al. “Model Agnostic Multilevel Explanations”. In: arXiv (Mar. 2020). url: http://arxiv.org/abs/2003.06005spa
dc.relation.references[77] Shuo Ren et al. “CodeBLEU: a Method for Automatic Evaluation of Code Synthesis”. In: (Sept. 2020). url: https://arxiv.org/abs/2009.10297v2spa
dc.relation.references[78] Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. "Why should I trust you?” Explaining the predictions of any classifier”. In: Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data M Vol. 13-17-August. Association for Computing Machinery, Aug. 2016, pp. 1135– 1144. isbn: 9781450342322. doi: 10 . 1145 / 2939672 . 2939778. url: http://dx.doi.org/10.1145/2939672.2939778spa
dc.relation.references[79] Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. “Anchors: High-Precision Model-Agnostic Explanations”. In: undefined (2018). url: https://ojs.aaai.org/index.php/AAAI/article/view/11491spa
dc.relation.references[80] Peter J. Rousseeuw. “Silhouettes: A graphical aid to the interpretation and validation of cluster analysis”. In: Journal of Computational and Applied Mathematics 20.C (Nov. 1987), pp. 53–65. issn: 0377-0427. doi: 10.1016/0377-0427(87)901257spa
dc.relation.references[81] Rico Sennrich, Barry Haddow, and Alexandra Birch. “Neural Machine Translation of Rare Words with Subword Units”. In: 54th Annual Meeting of the Association for Computational Linguistics, ACL 2016 - Long Papers 3 (Aug. 2015), pp. 1715–1725. url: http://arxiv.org/abs/1508.07909spa
dc.relation.references[82] Rudy Setiono and Huan Liu. "Understanding Neural Networks via Rule Extraction". Tech. rep. url: https://dl.acm.org/doi/10.5555/1625855.1625918spa
dc.relation.references[83] Avanti Shrikumar, Peyton Greenside, and Anshul Kundaje. “Learning Important Features Through Propagating Activation Differences”. In: 34th International Conference on Machine Learning, ICML 2017 7 (Apr. 2017), pp. 4844–4866. url: http://arxiv.org/abs/1704.02685spa
dc.relation.references[84] Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps”. In: 2nd International Conference on Learning Representations, ICLR 2014 - Workshop Track Proceed (Dec. 2013). url: http://arxiv.org/abs/1312.6034spa
dc.relation.references[85] Armando Solar-Lezama. “Program Synthesis by Sketching”. Ph.D. thesis. 2008.spa
dc.relation.references[86] Erik Strumbelj and Igor Kononenko. "An Efficient Explanation of Individual Classifications using Game Theory". Tech. rep. 2010, pp. 1–18. doi:10.5555/1756006.1756007. url: https://dl.acm.org/doi/10.5555/1756006.1756007spa
dc.relation.references[87] Chakkrit Tantithamthavorn, Ahmed E. Hassan, and Kenichi Matsumoto. “The Impact of Class Rebalancing Techniques on the Performance and Interpretation of Defect Prediction Models”. In: IEEE Transactions on Software Engineering 46.11 (Nov. 2018), pp. 1200–1219. issn: 19393520. doi: 10.1109/TSE.2018.2876537. url: https://ieeexplore.ieee.org/document/8494821/spa
dc.relation.references[88] Chakkrit Tantithamthavorn, Jirayus Jiarpakdee, and John Grundy. "Explainable AI for Software Engineering". Tech. rep. 2019. url: https://ieeexplore.ieee.org/document/9678580spa
dc.relation.references[89] Jake VanderPlas. Python Data Science Handbook. O’Reilly Media, Inc, 2017. url: https://jakevdp.github.io/PythonDataScienceHandbook/spa
dc.relation.references[90] Ashish Vaswani et al. “Attention is all you need”. In: Advances in Neural Information Processing Systems. Vol. 2017-Decem. Neural information processing systems foundation, June 2017, pp. 5999–6009. url: https://arxiv.org/abs/1706.03762v5spa
dc.relation.references[91] Richard J. Waldinger and Richard C. T Lee. “PROW: a step toward automatic program writing”. In: IJCAI’69: Proceedings of the 1st international joint conference on Artificial intelligence (1969). url: https://dl.acm.org/doi/10.5555/1624562.1624586spa
dc.relation.references[92] Gazzola, Micucci, and Mariani “Automatic Program Repair Techniques: A Survey ”. In:Jisuanji Xuebao/Chinese Journal of Computers 41.3 (2018), pp. 588–610. doi:10.11897/SP.J.1016.2018.00588. url: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8089448spa
dc.relation.references[93] Cody Watson et al. “A systematic literature review on the use of deep learning in Software Engineering Research”. In: arXiv (2020). issn: 23318422. url: https://arxiv.org/abs/2009.06520spa
dc.relation.references[94] Supatsara Wattanakriengkrai et al. "Predicting Defective Lines Using a Model-Agnostic Technique". Tech. rep. url: https://ieeexplore.ieee.org/document/9193975spa
dc.relation.references[95] Ethan Weinberger, Joseph Janizek, and Su-In Lee. “Learning Deep Attribution Priors Based On Prior Knowledge”. In: arXiv (Dec. 2019). url: http://arxiv.org/abs/1912.10065spa
dc.relation.references[96] Maksymilian Wojtas and Ke Chen. “Feature Importance Ranking for Deep Learning”. In: (Oct. 2020). url: http://arxiv.org/abs/2010.08973spa
dc.relation.references[97] Mike Wu et al. “Beyond Sparsity: Tree Regularization of Deep Models for Interpretability”. In: 32nd AAAI Conference on Artificial Intelligence, AAAI 2018 (Nov. 2017), pp. 1670–1678. url: http://arxiv.org/abs/1711.06178spa
dc.relation.references[98] Chih-Kuan Yeh et al. “Representer Point Selection for Explaining Deep Neural Networks”. In: Advances in Neural Information Processing Systems 2018-Decem (Nov. 2018), pp. 9291–9301. url: http://arxiv.org/abs/1811.09720spa
dc.relation.references[99] Pengcheng Yin and Graham Neubig. “A Syntactic Neural Model for General-Purpose Code Generation”. In: ACL 2017 - 55th Annual Meeting of the Association for Computational Linguistics, Proceedings o 1 (Apr. 2017), pp. 440–450. url: http://arxiv.org/abs/1704.01696spa
dc.relation.references[100] Quanshi Zhang, Ying Nian Wu, and Song-Chun Zhu. “Interpretable Convolutional Neural Networks”. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Oct. 2017), pp. 8827–8836. url: http://arxiv.org/abs/1710.00935spa
dc.relation.references[101] Yu Zhang et al. “A Survey on Neural Network Interpretability”. In: arXiv (Dec.2020). url: http://arxiv.org/abs/2012.14261spa
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.rights.licenseAtribución-NoComercial 4.0 Internacionalspa
dc.rights.urihttp://creativecommons.org/licenses/by-nc/4.0/spa
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::004 - Procesamiento de datos Ciencia de los computadoresspa
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computaciónspa
dc.subject.lembComputadoresspa
dc.subject.lembComputerseng
dc.subject.lembProcesamiento de la informaciónspa
dc.subject.lembInformation processingeng
dc.subject.proposalOpen-ended Code Generationeng
dc.subject.proposalML Interpretabilityeng
dc.subject.proposalLanguage Modelseng
dc.subject.proposalAutoregressive Modelseng
dc.subject.proposalNeural Networkseng
dc.subject.proposalInterpretabilidad de aprendizaje automáticospa
dc.subject.proposalGeneración No-Condicionada de Códigospa
dc.subject.proposalModelos de Lenguajespa
dc.subject.proposalModelos Autoregresivosspa
dc.subject.proposalRedes Neuronalesspa
dc.titleUnderstanding and Implementing Deep Neural Networks for Unconditional Source Code Generationeng
dc.title.translatedEntendiendo e implementando redes neuronales profundas para la generación no condicionada de código fuentespa
dc.typeTrabajo de grado - Maestríaspa
dc.type.coarhttp://purl.org/coar/resource_type/c_bdccspa
dc.type.coarversionhttp://purl.org/coar/version/c_ab4af688f83e57aaspa
dc.type.contentTextspa
dc.type.driverinfo:eu-repo/semantics/masterThesisspa
dc.type.redcolhttp://purl.org/redcol/resource_type/TMspa
dc.type.versioninfo:eu-repo/semantics/acceptedVersionspa
dcterms.audience.professionaldevelopmentEstudiantesspa
dcterms.audience.professionaldevelopmentInvestigadoresspa
oaire.accessrightshttp://purl.org/coar/access_right/c_abf2spa
oaire.awardtitleUnderstanding and Implementing Deep Neural Networks for Unconditional Source Code Generationspa

Archivos

Bloque original

Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
1019099124.2022.pdf
Tamaño:
5.56 MB
Formato:
Adobe Portable Document Format
Descripción:
Tesis de Maestría en Ingeniería de Sistemas y Computación

Bloque de licencias

Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
license.txt
Tamaño:
5.74 KB
Formato:
Item-specific license agreed upon to submission
Descripción: