Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Saemundur O. Haraldsson is active.

Publication


Featured researches published by Saemundur O. Haraldsson.


IEEE Transactions on Evolutionary Computation | 2018

Genetic Improvement of Software: A Comprehensive Survey

Justyna Petke; Saemundur O. Haraldsson; Mark Harman; William B. Langdon; David White; John R. Woodward

Genetic improvement (GI) uses automated search to find improved versions of existing software. We present a comprehensive survey of this nascent field of research with a focus on the core papers in the area published between 1995 and 2015. We identified core publications including empirical studies, 96% of which use evolutionary algorithms (genetic programming in particular). Although we can trace the foundations of GI back to the origins of computer science itself, our analysis reveals a significant upsurge in activity since 2012. GI has resulted in dramatic performance improvements for a diverse set of properties such as execution time, energy and memory consumption, as well as results for fixing and extending existing system functionality. Moreover, we present examples of research work that lies on the boundary between GI and other areas, such as program transformation, approximate computing, and software repair, with the intention of encouraging further exchange of ideas between researchers in these fields.


genetic and evolutionary computation conference | 2014

Automated design of algorithms and genetic improvement: contrast and commonalities

Saemundur O. Haraldsson; John R. Woodward

Automated Design of Algorithms (ADA) and Genetic Improvement (GI) are two relatively young fields of research that have been receiving more attention in recent years. Both methodologies can improve programs using evolutionary search methods and successfully produce human competitive programs. ADA and GI are used for improving functional properties such as quality of solution and non-functional properties, e.g. speed, memory and, energy consumption. Only GI of the two has been used to fix bugs, probably because it is applied globally on the whole source code while ADA typically replaces a function or a method locally. While GI is applied directly to the source code ADA works ex-situ, i.e. as a separate process from the program it is improving. Although the methodologies overlap in many ways they differ on some fundamentals and for further progress to be made researchers from both disciplines should be aware of each others work.


symposium on search based software engineering | 2014

Repairing and Optimizing Hadoop hashCode Implementations

Zoltan A. Kocsis; Geoffrey Neumann; Jerry Swan; Michael G. Epitropakis; Alexander E. I. Brownlee; Saemundur O. Haraldsson; Edward Bowles

We describe how contract violations in JavaTM hashCode methods can be repaired using novel combination of semantics-preserving and generative methods, the latter being achieved via Automatic Improvement Programming. The method described is universally applicable. When applied to the Hadoop platform, it was established that it produces hashCode functions that are at least as good as the original, broken method as well as those produced by a widely-used alternative method from the ‘Apache Commons’ library.


genetic and evolutionary computation conference | 2017

Fixing bugs in your sleep: how genetic improvement became an overnight success

Saemundur O. Haraldsson; John R. Woodward; Alexander E. I. Brownlee; Kristin Siggeirsdottir

We present a bespoke live system in commercial use with self-improving capability. During daytime business hours it provides an overview and control for many specialists to simultaneously schedule and observe the rehabilitation process for multiple clients. However in the evening, after the last user logs out, it starts a self-analysis based on the days recorded interactions. It generates test data from the recorded interactions for Genetic Improvement to fix any recorded bugs that have raised exceptions. The system has already been under test for over 6 months and has in that time identified, located, and fixed 22 bugs. No other bugs have been identified by other methods during that time. It demonstrates the effectiveness of simple test data generation and the ability of GI for improving live code.


genetic and evolutionary computation conference | 2015

Genetic Improvement of Energy Usage is only as Reliable as the Measurements are Accurate

Saemundur O. Haraldsson; John R. Woodward

Energy has recently become an objective for Genetic Improvement. Measuring software energy use is complicated which might tempt us to use simpler measurements. However if we base the GI on inaccurate measurements we can not expect improvements. This paper seeks to highlight important issues when evaluating energy use of programs.


european conference on genetic programming | 2017

Exploring Fitness and Edit Distance of Mutated Python Programs

Saemundur O. Haraldsson; John R. Woodward; Alexander E. I. Brownlee; David Cairns

Genetic Improvement (GI) is the process of using computational search techniques to improve existing software e.g. in terms of execution time, power consumption or correctness. As in most heuristic search algorithms, the search is guided by fitness with GI searching the space of program variants of the original software. The relationship between the program space and fitness is seldom simple and often quite difficult to analyse. This paper makes a preliminary analysis of GI’s fitness distance measure on program repair with three small Python programs. Each program undergoes incremental mutations while the change in fitness as measured by proportion of tests passed is monitored. We conclude that the fitnesses of these programs often does not change with single mutations and we also confirm the inherent discreteness of bug fixing fitness functions. Although our findings cannot be assumed to be general for other software they provide us with interesting directions for further investigation.


genetic and evolutionary computation conference | 2017

Genetic improvement of runtime and its fitness landscape in a bioinformatics application

Saemundur O. Haraldsson; John R. Woodward; Alexander E. I. Brownlee; Albert V. Smith; Vilmundur Gudnason

We present a Genetic Improvement (GI) experiment on ProbAbel, a piece of bioinformatics software for Genome Wide Association (GWA) studies. The GI framework used here has previously been successfully used on Python programs and can, with minimal adaptation, be used on source code written in other languages. We achieve improvements in execution time without the loss of accuracy in output while also exploring the vast fitness landscape that the GI framework has to search. The runtime improvements achieved on smaller data set scale up for larger data sets. Our findings are that for ProbAbel, the GIs execution time landscape is noisy but flat. We also confirm that human written code is robust with respect to small edits to the source code.


2017 IEEE/ACM 10th International Workshop on Search-Based Software Testing (SBST) | 2017

The use of automatic test data generation for genetic improvement in a live system

Saemundur O. Haraldsson; John R. Woodward; Alexander Brownlee

In this paper we present a bespoke live system in commercial use that has been implemented with self-improving properties. During business hours it provides overview and control for many specialists to simultaneously schedule and observe the rehabilitation process for multiple clients. However in the evening, after the last user logs out, it starts a self-analysis based on the days recorded interactions and the self-improving process. It uses Search Based Software Testing (SBST) techniques to generate test data for Genetic Improvement (GI) to fix any bugs if exceptions have been recorded. The system has already been under testing for 4 months and demonstrates the effectiveness of simple test data generation and the power of GI for improving live code.


Work-a Journal of Prevention Assessment & Rehabilitation | 2016

Determinants of outcome of vocational rehabilitation

Kristin Siggeirsdottir; Ragnheidur D. Brynjolfsdottir; Saemundur O. Haraldsson; Sigurdur Vidar; Emanuel Geir Gudmundsson; J Brynjolfsson; Helgi Jonsson; Omar Hjaltason; Vilmundur Gudnason

BACKGROUND Information regarding the determinants of successful vocational rehabilitation (VR) is scarce. OBJECTIVE Investigate whether sex, duration, quality of life and financial circumstances influence the success of VR. METHODS The study group consisted of 519 participants (293 women, 56%), who finished VR in the period 2000-2014. The group was divided into the following subgroups: dropouts, unsuccessful and successful VR. Data were collected by questionnaire. RESULTS Income had the most impact on whether the outcome was successful. Having supplemental income when entering the VR program increased the likelihood of a successful conclusion, odds ratio (OR) 5.60 (95% CI; 2.43-13.59) (p < 0.001), being on sick leave OR 5.02 (95% CI 1.93-13.79) (p < 0.001) or rehabilitation pension OR 1.93 (95% CI 1.07-3.52) (p < 0.03). The participants in the successful sub-group were older (p < 0.06) and stayed in rehabilitation longer (p < 0.001), compared to those who were unsuccessful. However, the effect on OR was limited: 1.03 (95% CI 1.01-1.06) and 1.04 (95% CI 1.02-1.07), respectively. CONCLUSIONS For this sample, supplemental income appears to be the most important factor for a successful rehabilitation outcome. Checking financial status at the beginning of the rehabilitation process could minimize financial strain and increase the likelihood of success.


symposium on search based software engineering | 2014

Erratum: Repairing and Optimizing Hadoop hashCode Implementations

Zoltan A. Kocsis; Geoff Neumann; Jerry Swan; Michael G. Epitropakis; Alexander E. I. Brownlee; Saemundur O. Haraldsson; Edward Bowles

In the original version, the name of the sixth author is incorrect. Instead of “Sami O. Haraldsson” it should be read as “Saemundur O. Haraldsson”.

Collaboration


Dive into the Saemundur O. Haraldsson's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge