2,793 research outputs found
Fuzzy Edit Sequences in Genetic Improvement
Genetic improvement uses automated search to find improved versions of existing software. Edit sequences have been proposed as a very convenient way to represent code modifications, focusing on the changes themselves rather than duplicating the entire program. However, edits are usually defined in terms of practical operations rather than in terms of semantic changes; indeed, crossover and other edit sequence mutations usually never guarantee semantic preservation. We propose several changes to usual edit sequences, specifically augmenting edits with content data and using fuzzy matching, in an attempt to improve semantic preservation
Empirical Comparison of Search Heuristics for Genetic Improvement of Software
Genetic improvement uses automated search to improve existing software. It has been successfully used to optimise various program properties, such as runtime or energy consumption, as well as for the purpose of bug fixing. Genetic improvement typically navigates a space of thousands of patches in search for the program mutation that best improves the desired software property. While genetic programming has been dominantly used as the search strategy, more recently other search strategies, such as local search, have been tried. It is, however, still unclear which strategy is the most effective and efficient. In this paper, we conduct an in-depth empirical comparison of a total of 18 search processes using a set of 8 improvement scenarios. Additionally, we also provide new genetic improvement benchmarks and we report on new software patches found. Our results show that, overall, local search approaches achieve better effectiveness and efficiency than genetic programming approaches. Moreover, improvements were found in all scenarios (between 15% and 68%). A replication package can be found online: https://github.com/bloa/tevc _2020 artefact
Refining Fitness Functions for Search-Based Program Repair
Debugging is a time-consuming task for software engineers. Automated Program Repair (APR) has proved successful in automatically fixing bugs for many real-world applications. Search-based APR generates program variants that are then evaluated on the test suite of the original program, using a fitness function. In the vast majority of search-based APR work only the Boolean test case result is taken into account when evaluating the fitness of a program variant. We pose that more fine-grained fitness functions could lead to a more diverse fitness landscape, and thus provide better guidance for the APR search algorithms. We thus present 2Phase, a fitness function that also incorporates the output of test case failures, and compare it with ARJAe, that shares the same principles, and the standard fitness, that only takes the Boolean test case result into consideration. We conduct the comparison on 16 buggy programs from the QuixBugs benchmark using the Gin genetic improvement framework. The results show no significant difference in the performance of all three fitness functions considered. However, Gin was able to find 8 correct fixes, more than any of the APR tools in the recent QuixBugs study
Empirical Analysis of Mutation Operator Selection Strategies for Genetic Improvement
Genetic improvement (GI) tools find improved program versions by modifying the initial program. These can be used for the purpose of automated program repair (APR). GI uses software transformations, called mutation operators, such as deletions, insertions, and replacements of code fragments. Current edit selection strategies, however, under-explore the search spaces of insertion and replacement operators. Therefore, we implement a uniform strategy based on the relative operator search space sizes. We evaluate it on the QuixBugs repair benchmark and find that the uniform strategy has the potential for improving APR tool performance. We also analyse the efficacy of the different mutation operators with regard to the type of code fragment they are applied to. We find that, for all operators, choosing expression statements as target statements is the most successful for finding program variants with improved or preserved fitness (50.03%, 33.12% and 23.85% for deletions, insertions and replacements, respectively), whereas choosing declaration statements is the least effective (3.16%, 10.82% and 3.14% for deletions, insertions and replacements)
Phase Transition Study of Superconducting Microstructures
The presented results are part of a feasibility study of superheated
superconducting microstructure detectors. The microstructures (dots) were
fabricated using thin film patterning techniques with diameters ranging from
m up to m and thickness of m. We used arrays and single
dots to study the dynamics of the superheating and supercooling phase
transitions in a magnetic field parallel to the dot surface. The phase transi-
tions were produced by either varying the applied magnetic field strength at a
constant temperature or changing the bath temperature at a constant field.
Preliminary results on the dynamics of the phase transitions of arrays and
single indium dots will be reported.Comment: 7pages in LaTex format, five figures available upon request by
[email protected], preprint Bu-He 93/
Refining Fitness Functions for Search-Based Automated Program Repair: A Case Study with ARJA and ARJA-e
Several tools support code templates as a means to specify searches within a program’s source code. Despite their ubiquity, code templates can often prove difficult to specify, and may produce too many or too few match results. In this paper, we present a search-based approach to support developers in specifying templates. This approach uses a suite of mutation operators to recommend changes to a given template, such that it matches with a desired set of code snippets. We evaluate our approach on the problem of inferring a code template that matches all instances of a design pattern, given one instance as a starting template
On Adaptive Specialisation in Genetic Improvement
Genetic improvement uses automated search to find improved versions of existing software. Software can either be evolved with
general-purpose intentions or with a focus on a specific application
(e.g., to improve it’s efficiency for a particular class of problems).
Unfortunately, software specialisation to each problem application
is generally performed independently, fragmenting and slowing
down an already very time-consuming search process. We propose
to incorporate specialisation as an online mechanism of the general
search process, in an attempt to automatically devise application
classes, by benefiting from past execution history
Visual intracortical and transthalamic pathways carry distinct information to cortical areas.
Sensory processing involves information flow between neocortical areas, assumed to rely on direct intracortical projections. However, cortical areas may also communicate indirectly via higher-order nuclei in the thalamus, such as the pulvinar or lateral posterior nucleus (LP) in the visual system of rodents. The fine-scale organization and function of these cortico-thalamo-cortical pathways remains unclear. We find that responses of mouse LP neurons projecting to higher visual areas likely derive from feedforward input from primary visual cortex (V1) combined with information from many cortical and subcortical areas, including superior colliculus. Signals from LP projections to different higher visual areas are tuned to specific features of visual stimuli and their locomotor context, distinct from the signals carried by direct intracortical projections from V1. Thus, visual transthalamic pathways are functionally specific to their cortical target, different from feedforward cortical pathways, and combine information from multiple brain regions, linking sensory signals with behavioral context
L'anémie à l'accouchement à Lomé (Togo) : prévalence, facteurs de risque et répercussions chez le nouveau-né
Une étude de prévalence réalisée à Lomé (Togo) a porté sur 125 couples mère-nouveau-né : 48% des mères et 30% des nouveaux-nés sont anémiques d'après les seuils de l'OMS. Trois mères sur quatre ont au moins un indicateur de carence en fer et celle-ci est le déterminant principal de l'anémie. Soixante huit pour cent ont une carence en folates, sans répercussion sur les paramètres hématologiques. Lorsque la carence en fer maternelle est grave (fer sérique <7umol), le fer sérique du nouveau-né est abaissé, ce qui témoigne d'une réduction de l'apport de fer au foetus. Le statut folique des nouveaux-nés est meilleur lorsque les mères ont reçu de l'acide folique pendant leur grossesse. Une supplémentation de ferro-folique systématique est donc nécessaire pendant la grossesse et serait bénéfique à la mère et à l'enfant. Les consultations prénatales devraient servir de cadre à la supplémentation. Leur fréquentation par 98% des femmes enceintes permet d'envisager une bonne couverture pour une telle intervention. (Résumé d'auteur
- …