2022
Authors
Baquero, C;
Publication
COMMUNICATIONS OF THE ACM
Abstract
Carlos Baquero on whether using artificial intelligence provides an unfair advantage to writers.
2022
Authors
Baquero, C; Cabecinhas, R;
Publication
COMMUNICATIONS OF THE ACM
Abstract
[No abstract available]
2022
Authors
Baquero, C;
Publication
COMMUNICATIONS OF THE ACM
Abstract
2022
Authors
Rufino, J; Ramirez, J; Baquero, C; Champati, J; Frey, D; Lillo, R; Anta, AF;
Publication
Abstract
2022
Authors
Macedo, JN; Viera, M; Saraiva, J;
Publication
Functional and Logic Programming - 16th International Symposium, FLOPS 2022, Kyoto, Japan, May 10-12, 2022, Proceedings
Abstract
Strategic term rewriting and attribute grammars are two powerful programming techniques widely used in language engineering. The former relies on strategies (recursion schemes) to apply term rewrite rules in defining transformations, while the latter is suitable for expressing context-dependent language processing algorithms. Each of these techniques, however, is usually implemented by its own powerful and large processor system. As a result, it makes such systems harder to extend and to combine. We present the embedding of both strategic tree rewriting and attribute grammars in a zipper-based, purely functional setting. The embedding of the two techniques in the same setting has several advantages: First, we easily combine/zip attribute grammars and strategies, thus providing language engineers the best of the two worlds. Second, the combined embedding is easier to maintain and extend since it is written in a concise and uniform setting. We show the expressive power of our library in optimizing Haskell let expressions, expressing several Haskell refactorings and solving several language processing tasks for an Oberon-0 compiler. © 2022, Springer Nature Switzerland AG.
2022
Authors
Ribeiro, F; Abreu, R; Saraiva, J;
Publication
INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2022)
Abstract
Many techniques have contributed to the advancement of automated program repair, such as: generate and validate approaches, constraint-based solvers and even neural machine translation. Simultaneously, artificial intelligence has allowed the creation of general-purpose pre-trained models that support several downstream tasks. In this paper, we describe a technique that takes advantage of a generative model - CodeGPT - to automatically repair buggy programs by making use of its code completion capabilities. We also elaborate on where to perform code completion in a buggy line and how we circumvent the open-ended nature of code generation to appropriately fit the new code in the original program. Furthermore, we validate our approach on the ManySStuBs4j dataset containing real-world open-source projects and show that our tool is able to fix 1739 programs out of 6415 - a 27% repair rate. The repaired programs range from single-line changes to multiple line modifications. In fact, our technique is able to fix programs which were missing relatively complex expressions prior to being analyzed. In the end, we present case studies that showcase different scenarios our technique was able to handle.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.