automated synthesis of complex programs is still an unsolved problem even though some successes have been achieved recently for relatively contrived and specialized settings. One possible approach to automated program...
详细信息
ISBN:
(数字)9783319273402
ISBN:
(纸本)9783319273402;9783319273396
automated synthesis of complex programs is still an unsolved problem even though some successes have been achieved recently for relatively contrived and specialized settings. One possible approach to automated programming is genetic programming, however, a diverse set of alternative techniques are possible which makes it rather difficult to make general assertions about characteristics or structure of automated programming tasks. We have therefore defined the concept of grammatical optimization problems for problems with an objective function and grammar constraint for valid solutions. The problem of synthesizing computer programs can be formulated as a grammatical optimization problem. In this contribution we describe our idea of using contextual information for guiding the search process. First, we describe how the search process can be described as a sequential decision process and show how Monte-Carlo tree search is one way to optimize this decision process. Based on the formulation as a sequential decision process we explain how lexical, syntactical, as well as program state can be used for guiding the search process. This makes it possible to learn problem structure in a way that goes beyond what is possible with simple Monte-Carlo tree search.
We describe a small, simple, and lightweight microframework for the Genetic Improvement of Java code. We call the framework "GI in no time", or "Gin". Gin is designed to be a straightforward, hacka...
详细信息
ISBN:
(纸本)9781450349390
We describe a small, simple, and lightweight microframework for the Genetic Improvement of Java code. We call the framework "GI in no time", or "Gin". Gin is designed to be a straightforward, hackable, GI tool for Java. It currently lacks large features found in comparable program repair tools, but nonetheless it is capable of performing optimisation of a Java class via local search. We hope that providing this contribution will encourage researchers to collaborate on GI tool development, whilst lowering the barrier to entry for those interested in experimenting with GI. It is intended to serve both as a toolkit to be extended, and also an example of how GI can be implemented. We discuss some of the design principles behind Gin, and outline observations made during its development.
In recent years, Neural Machine Translator (NMT) has shown promise in automatically editing source code. Typical NMT based code editor only considers the code that needs to be changed as input and suggests developers ...
详细信息
ISBN:
(纸本)9781665403375
In recent years, Neural Machine Translator (NMT) has shown promise in automatically editing source code. Typical NMT based code editor only considers the code that needs to be changed as input and suggests developers with a ranked list of patched code to choose from - where the correct one may not always be at the top of the list. While NMT based code editing systems generate a broad spectrum of plausible patches, the correct one depends on the developers' requirement and often on the context where the patch is applied. Thus, if developers provide some hints, using natural language, or providing patch context, NMT models can benefit from them. As a proof of concept, in this research, we leverage three modalities of information: edit location, edit code context, commit messages (as a proxy of developers' hint in natural language) to automatically generate edits with NMT models. To that end, we build MODIT, a multi-modal NMT based code editing engine. With in-depth investigation and analysis, we show that developers' hint as an input modality can narrow the search space for patches and outperform state-of-the-art models to generate correctly patched code in top-1 position.
The work shown in this thesis explores a rogue developer desiring to make a small bug in the system they are working on. This insider threat's main focus is thus the semi-automatic generation of a bug. This is ach...
详细信息
The work shown in this thesis explores a rogue developer desiring to make a small bug in the system they are working on. This insider threat's main focus is thus the semi-automatic generation of a bug. This is achieved using patch generation, a type of automated programming, which is normally used to fix bugs. We do so first on small single file programs, and then expand to an open source project. Within the open source project we refine our search of the search space Furthermore we explored injecting bugs with a specified trigger that are not caught by the test suite for the open source project.
Shape optimization is used to design flexible mechanical metamaterials. We employ the higher-order moving-mesh method to arbitrarily parameterize the geometries and tune their nonlinear mechanical response to our liki...
详细信息
Shape optimization is used to design flexible mechanical metamaterials. We employ the higher-order moving-mesh method to arbitrarily parameterize the geometries and tune their nonlinear mechanical response to our liking under different loading conditions. Rather than considering periodic unit cells, we focus on finite size elastomeric sheets with an embedded array of pores subjected to uniaxial tension, compression, and shear and use the optimization algorithm to tune either their stress-strain response or their effective Poisson's ratio. We find that for all considered targets the algorithm converges to aperiodic geometries that are non-intuitive and comprise domain-like features. As such, our results indicate that aperiodicity may provide new opportunities for the design of flexible metamaterials.& COPY;2023 Elsevier Ltd. All rights reserved.
Today, more and more, it is necessary that most applications and documents developed in previous or current technologies to be accessible online on cloud-based infrastructures. That’s why the migration of legacy syst...
详细信息
Today, more and more, it is necessary that most applications and documents developed in previous or current technologies to be accessible online on cloud-based infrastructures. That’s why the migration of legacy systems including their hosts of documents to new technologies and online infrastructures, using modern Artificial Intelligence techniques, is absolutely necessary. With the advancement of Artificial Intelligence and Deep Learning with its multitude of applications, a new area of research is emerging – that of automated systems development and maintenance. The underlying work objective that led to this paper aims to research and develop truly intelligent systems able to analyze user interfaces from various sources and generate real and usable inferences ranging from architecture analysis to actual code generation. One key element of such systems is that of artificial scene detection and analysis based on deep learning computer vision systems. Computer vision models and particularly deep directed acyclic graphs based on convolutional modules are generally constructed and trained based on natural images datasets. Due to this fact, the models will develop during the training process natural image feature detectors apart from the base graph modules that will learn basic primitive features. In the current paper, we will present the base principles of a deep neural pipeline for computer vision applied to artificial scenes (scenes generated by user interfaces or similar). Finally, we will present the conclusions based on experimental development and benchmarking against state-of-the-art transfer-learning implemented deep vision models.
Visualization is an important component of modern computing. By animating the course of an algorithm’s temporal execution, many key features can be elucidated. We have developed a general framework, termed Call-Graph...
详细信息
Visualization is an important component of modern computing. By animating the course of an algorithm’s temporal execution, many key features can be elucidated. We have developed a general framework, termed Call-Graph Caching (CGC), for automating the construction of many complex AI algorithms. By incorporating visualization into CGC interpreters, principled animations can be automatically displayed as AI computations unfold. (1) Systems that support the automatic animation of AI algorithms must address these three design issues: (2) How to represent AI data structures in a general, uniform way that leads to perspicuous animation and efficient redisplay. (3) How to coordinate the succession of graphical events. (4) How to partition AI graphs to provide for separate, uncluttered displays. CGC provides a natural and effective solution to all these concerns. (5) We describe the CGC method, including detailed examples, and motivate why CGC works well for animation. We discuss the CACHE system, our CGC environment for AI algorithm animation. We demonstrate the animation of several AI algorithms – RETE match, linear unification, arc consistency, chart parsing, and truth maintenance – all of which have been implemented in CACHE. Finally, we discuss the application of these methods to interactive interfaces for intelligent systems, using molecular genetics as an example domain.
RETE match for production systems and Arc Consistency (AC) filtering are two efficient AI algorithms that are designed for particular constraint satisfaction problems (CSP). Interestingly, it is possible to integrate ...
详细信息
RETE match for production systems and Arc Consistency (AC) filtering are two efficient AI algorithms that are designed for particular constraint satisfaction problems (CSP). Interestingly, it is possible to integrate the two within a common framework, and provide RETE with the lookahead advantages of AC. Unfortunately, the resulting quadratic dependence of AC on working memory (WM) size precludes the application of AC to RETE, since RETE responds to incremental changes in WM. Recent results in AC graph factorization, however, reduce the quadratic dependence to just linear for certain classes of problems, including RETE. In this paper, we present RETE and AC within the unified framework of Call-Graph Caching (CGC) evaluation. We describe factored arc consistency (FAC) and its use in an integrated FAC/RETE algorithm that provides RETE match with AC lookahead. We discuss our implementations, promising initial empirical results, and explore FAC/RETE’s applicability conditions and extensions. We conclude that incorporating factored AC into RETE match is an interesting and potentially useful application of arc consistency methods to the RETE CSP.
Learning to edit code automatically is becoming more and more feasible. Thanks to recent advances in Neural Machine Translation (NMT), various case studies are being investigated where patches are automatically produc...
详细信息
Learning to edit code automatically is becoming more and more feasible. Thanks to recent advances in Neural Machine Translation (NMT), various case studies are being investigated where patches are automatically produced and assessed either automatically (using test suites) or by developers themselves. An appealing setting remains when the developer must provide a natural language input of the requirement for the code change. A recent proof of concept in the literature showed that it is indeed feasible to translate these natural language requirements into code changes. A recent advancement, MODIT [8], has shown promising results in code editing by leveraging natural language, code context, and location information as input. However, it struggles when location information is unavailable. While several studies [29, 81] have demonstrated the ability to edit source code without explicitly specifying the edit location, they still tend to generate edits with less accuracy at the line level. In this work, we address the challenge of generating code edits without precise location information, a scenario we consider crucial for the practical adoption of NMT in code development. To that end, we develop a novel joint training approach for both localization and source code editions. Building a benchmark based on over 70k commits (patches and messages), we demonstrate that our jLED (joint Localize and EDit) approach is effective. An ablation study further demonstrates the importance of our design choice in joint training.
暂无评论