Network


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

Hotspot


Dive into the research topics where Justyna Petke is active.

Publication


Featured researches published by Justyna Petke.


software product lines | 2014

Search based software engineering for software product line engineering: a survey and directions for future work

Mark Harman; Yue Jia; Jens Krinke; William B. Langdon; Justyna Petke; Yuanyuan Zhang

This paper presents a survey of work on Search Based Software Engineering (SBSE) for Software Product Lines (SPLs). We have attempted to be comprehensive, in the sense that we have sought to include all papers that apply computational search techniques to problems in software product line engineering. Having surveyed the recent explosion in SBSE for SPL research activity, we highlight some directions for future work. We focus on suggestions for the development of recent advances in genetic improvement, showing how these might be exploited by SPL researchers and practitioners: Genetic improvement may grow new products with new functional and non-functional features and graft these into SPLs. It may also merge and parameterise multiple branches to cope with SPL branchmania.


european conference on genetic programming | 2014

Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class

Justyna Petke; Mark Harman; William B. Langdon; Westley Weimer

Genetic Improvement GI is a form of Genetic Programming that improves an existing program. We use GI to evolve a faster version of a C++ program, a Boolean satisfiability SAT solver called MiniSAT, specialising it for a particular problem class, namely Combinatorial Interaction Testing CIT, using automated code transplantation. Our GI-evolved solver achieves overall 17% improvement, making it comparable with average expert human performance. Additionally, this automatically evolved solver is faster than any of the human-improved solvers for the CIT problem.


genetic and evolutionary computation conference | 2015

Reducing Energy Consumption Using Genetic Improvement

Bobby R. Bruce; Justyna Petke; Mark Harman

Genetic Improvement (GI) is an area of Search Based Software Engineering which seeks to improve softwares non-functional properties by treating program code as if it were genetic material which is then evolved to produce more optimal solutions. Hitherto, the majority of focus has been on optimising programs execution time which, though important, is only one of many non-functional targets. The growth in mobile computing, cloud computing infrastructure, and ecological concerns are forcing developers to focus on the energy their software consumes. We report on investigations into using GI to automatically find more energy efficient versions of the MiniSAT Boolean satisfiability solver when specialising for three downstream applications. Our results find that GI can successfully be used to reduce energy consumption by up to 25%


international symposium on software testing and analysis | 2015

Automated software transplantation

Earl T. Barr; Mark Harman; Yue Jia; Alexandru Marginean; Justyna Petke

Automated transplantation would open many exciting avenues for software development: suppose we could autotransplant code from one system into another, entirely unrelated, system. This paper introduces a theory, an algorithm, and a tool that achieve this. Leveraging lightweight annotation, program analysis identifies an organ (interesting behavior to transplant); testing validates that the organ exhibits the desired behavior during its extraction and after its implantation into a host. While we do not claim automated transplantation is now a solved problem, our results are encouraging: we report that in 12 of 15 experiments, involving 5 donors and 3 hosts (all popular real-world systems), we successfully autotransplanted new functionality and passed all regression tests. Autotransplantation is also already useful: in 26 hours computation time we successfully autotransplanted the H.264 video encoding functionality from the x264 system to the VLC media player; compare this to upgrading x264 within VLC, a task that we estimate, from VLCs version history, took human programmers an average of 20 days of elapsed, as opposed to dedicated, time.


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.


IEEE Transactions on Software Engineering | 2015

Practical Combinatorial Interaction Testing: Empirical Findings on Efficiency and Early Fault Detection

Justyna Petke; Myra B. Cohen; Mark Harman; Shin Yoo

Combinatorial interaction testing (CIT) is important because it tests the interactions between the many features and parameters that make up the configuration space of software systems. Simulated Annealing (SA) and Greedy Algorithms have been widely used to find CIT test suites. From the literature, there is a widely-held belief that SA is slower, but produces more effective tests suites than Greedy and that SA cannot scale to higher strength coverage. We evaluated both algorithms on seven real-world subjects for the well-studied two-way up to the rarely-studied six-way interaction strengths. Our findings present evidence to challenge this current orthodoxy: real-world constraints allow SA to achieve higher strengths. Furthermore, there was no evidence that Greedy was less effective (in terms of time to fault revelation) compared to SA; the results for the greedy algorithm are actually slightly superior. However, the results are critically dependent on the approach adopted to constraint handling. Moreover, we have also evaluated a genetic algorithm for constrained CIT test suite generation. This is the first time strengths higher than 3 and constraint handling have been used to evaluate GA. Our results show that GA is competitive only for pairwise testing for subjects with a small number of constraints.


genetic and evolutionary computation conference | 2014

Improving 3D medical image registration CUDA software with genetic programming

William B. Langdon; Marc Modat; Justyna Petke; Mark Harman

Genetic Improvement (GI) is shown to optimise, in some cases by more than 35percent, a critical component of healthcare industry software across a diverse range of six nVidia graphics processing units (GPUs). GP and other search based software engineering techniques can automatically optimise the current rate limiting CUDA parallel function in the NiftyReg open source C++ project used to align or register high resolution nuclear magnetic resonance NMRI and other diagnostic NIfTI images. Future Neurosurgery techniques will require hardware acceleration, such as GPGPU, to enable real time comparison of three dimensional in theatre images with earlier patient images and reference data. With millimetre resolution brain scan measurements comprising more than ten million voxels the modified kernel can process in excess of 3 billion active voxels per second.


genetic and evolutionary computation conference | 2015

Improving CUDA DNA Analysis Software with Genetic Programming

William B. Langdon; Brian Yee Hong Lam; Justyna Petke; Mark Harman

We genetically improve BarraCUDA using a BNF grammar incorporating C scoping rules with GP. Barracuda maps next generation DNA sequences to the human genome using the Burrows-Wheeler algorithm (BWA) on nVidia Tesla parallel graphics hardware (GPUs). GI using phenotypic tabu search with manually grown code can graft new features giving more than 100 fold speed up on a performance critical kernel without loss of accuracy.


theory and applications of satisfiability testing | 2011

The order encoding: from tractable CSP to tractable SAT

Justyna Petke; Peter Jeavons

Many mathematical and practical problems can be expressed as constraint satisfaction problems (CSPs). The general CSP is known to be NP-complete, but many different conditions have been identified which are sufficient to ensure that classes of instances satisfying those conditions are tractable, that is, solvable in polynomial time [1,2,3,4,7].


In: Bourgine, P and Collet, P, (eds.) (pp. Paper ID: 356-Paper ID: 356). Springer (2015) | 2017

Software is Not Fragile

William B. Langdon; Justyna Petke

Trying all simple changes (first order mutations) to executed C, C++ and CUDA source code shows software engineering artefacts are more robust than is often assumed. Of those that compile, up to 89 % run without error. Indeed a few mutants are improvements. Program fitness landscapes are smoother. Analysis of these programs, a parallel nVidia GPGPU kernel, all CUDA samples and the GNU C library shows many lines of code and integer values are repeated and may follow Zipf’s law.

Collaboration


Dive into the Justyna Petke's collaboration.

Top Co-Authors

Avatar

Mark Harman

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yue Jia

University College London

View shared research outputs
Top Co-Authors

Avatar

Bobby R. Bruce

University College London

View shared research outputs
Top Co-Authors

Avatar

David White

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Myra B. Cohen

University of Nebraska–Lincoln

View shared research outputs
Researchain Logo
Decentralizing Knowledge