Aldeida Aleti

Aldeida Aleti
Monash University (Australia) · Faculty of Information Technology

PhD

About

97
Publications
25,586
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,400
Citations
Citations since 2016
64 Research Items
1019 Citations
2016201720182019202020212022050100150
2016201720182019202020212022050100150
2016201720182019202020212022050100150
2016201720182019202020212022050100150
Additional affiliations
January 2017 - December 2017
Monash University (Australia)
Position
  • Professor (Associate)
January 2014 - present
Monash University (Australia)
Position
  • DECRA research fellow
June 2012 - present
Monash University (Australia)
Position
  • Lecturer

Publications

Publications (97)
Preprint
Previous studies have shown that Automated Program Repair (APR) techniques suffer from the overfitting problem. Overfitting happens when a patch is run and the test suite does not reveal any error, but the patch actually does not fix the underlying bug or it introduces a new defect that is not covered by the test suite. Therefore, the patches gener...
Article
Full-text available
Context Machine learning (ML) software systems are permeating many aspects of our life, such as healthcare, transportation, banking, and recruitment. These systems are trained with data that is often biased, resulting in biased behaviour. To address this issue, fairness testing approaches have been proposed to test ML systems for fairness, which pr...
Article
Full-text available
Design contexts are factors that shape a design, and whilst they are recognised by developers, they are typically tacit. Unlike software requirements, software engineering researchers have paid little attention to design contexts and there is little or no systematic research on how design contexts influence design. In this paper, we conduct an empi...
Article
Full-text available
Automated test generators, such as search-based software testing (SBST) techniques are primarily guided by coverage information. As a result, they are very effective at achieving high code coverage. However, is high code coverage alone sufficient to detect bugs effectively In this paper, we propose a new SBST technique, predictive many objective so...
Article
Software design patterns are standard solutions to common problems in software design and architecture. Knowing that a particular module implements a design pattern is a shortcut to design comprehension. Manually detecting design patterns is a time consuming and challenging task, therefore, researchers have proposed automatic design pattern detecti...
Article
Maintenance of existing software requires a large amount of time for comprehending the source code. The architecture of a software, however, may not be clear to maintainers if up-to-date documentations are not available. Software clustering is often used as a remodularisation and architecture recovery technique to help recover a semantic representa...
Preprint
Defect predictors, static bug detectors and humans inspecting the code can locate the parts of the program that are buggy before they are discovered through testing. Automated test generators such as search-based software testing (SBST) techniques can use this information to direct their search for test cases to likely buggy code, thus speeding up...
Chapter
Search-Based Software Engineering is now a mature area with numerous techniques developed to tackle some of the most challenging software engineering problems, from requirements to design, testing, fault localisation, and automated program repair. SBSE techniques have shown promising results, giving us hope that one day it will be possible for the...
Preprint
Today, most automated test generators, such as search-based software testing (SBST) techniques focus on achieving high code coverage. However, high code coverage is not sufficient to maximise the number of bugs found, especially when given a limited testing budget. In this paper, we propose an automated test generation technique that is also guided...
Article
Full-text available
Automated Program Repair (APR) is a fast growing area with numerous new techniques being developed to tackle one of the most challenging software engineering problems. APR techniques have shown promising results, giving us hope that one day it will be possible for software to repair itself. In this paper, we focus on the problem of objective perfor...
Article
Simple rule-based robot behaviours, such as those utilised for swarming robots, typically excel in only the niche conditions for which they were designed. Behaviour selection allows robots to switch between these specialised behaviours in accordance with the observed conditions. This paper explores the use of a novel form of Hierarchical Graph Neur...
Preprint
Full-text available
Maintenance of existing software requires a large amount of time for comprehending the source code. The architecture of a software, however, may not be clear to maintainers if up to date documentations are not available. Software clustering is often used as a remodularisation and architecture recovery technique to help recover a semantic representa...
Article
The International Workshop on Realizing Arti cial Intelligence Synergies in Software Engineering (RAISE) aims to present the state of the art in the crossover between Software Engineering and Arti cial Intelligence. This workshop explored not only the appli- cation of AI techniques to SE problems but also the application of SE techniques to AI prob...
Preprint
Software design patterns are standard solutions to common problems in software design and architecture. Knowing that a particular module implements a design pattern is a shortcut to design comprehension. Manually detecting design patterns is a time consuming and challenging task, therefore, researchers have proposed automatic design pattern detecti...
Article
Full-text available
Automated deployment of software components into hardware resources is a highly constrained optimisation problem. Hardware memory limits which components can be deployed into the particular hardware unit. Interacting software components have to be deployed either into the same hardware unit, or connected units. Safety concerns could restrict the de...
Chapter
Full-text available
Evaluating the performance characteristics of software architectures is not trivial since many factors, such as workload fluctuations and service failures, contribute to large variations. To reduce the impact of these factors, architectures are refactored so that their design becomes more robust and less prone to performance violations. This paper...
Chapter
This paper compares two behaviour creation algorithms for Unmanned Aerial Vehicle swarms. The objective of this work is to have a self-organising robotic swarm which unintrusively assists humans in network restricted environments by facilitating data-transfer between disconnected groups. The behaviour creation algorithms explored are a well-cited a...
Preprint
Full-text available
Automated Program Repair (APR) is a fast growing area with many new techniques being developed to tackle one of the most challenging software engineering problems. APR techniques have shown promising results, giving us hope that one day it will be possible for software to repair itself. Existing techniques, however, are only effective at repairing...
Preprint
For most practical optimisation problems local search outperforms random sampling - despite the "No Free Lunch Theorem". This paper introduces a property of search landscapes termed Neighbours' Similar Fitness (NSF) that underlies the good performance of neighbourhood search in terms of local improvement. Though necessary, NSF is not sufficient to...
Preprint
Full-text available
Premature convergence can be detrimental to the performance of search methods, which is why many search algorithms include restart strategies to deal with it. While it is common to perturb the incumbent solution with diversification steps of various sizes with the hope that the search method will find a new basin of attraction leading to a better l...
Preprint
This paper explores the use of a novel form of Hierarchical Graph Neurons (HGN) for in-operation behaviour selection in a swarm of robotic agents. This new HGN is called Robotic-HGN (R-HGN), as it matches robot environment observations to environment labels via fusion of match probabilities from both temporal and intra-swarm collections. This appro...
Preprint
We present in this paper an exertion of our previous work by increasing the robustness and coverage of the evolution search via hybridisation with a state-of-the-art novelty search and accelerate the individual agent behaviour searches via a novel behaviour-component sharing technique. Via these improvements, we present Swarm Learning Classifier Sy...
Preprint
Chemical tagging seeks to identify unique star formation sites from present-day stellar abundances. Previous techniques have treated each abundance dimension as being statistically independent, despite theoretical expectations that many elements can be produced by more than one nucleosynthetic process. In this work we introduce a data-driven model...
Conference Paper
This paper compares two behaviour creation algorithms for Unmanned Aerial Vehicle swarms. The objective of this work is to have a self-organising robotic swarm which unintrusively assists humans in network restricted environments by facilitating data transfer between disconnected groups. The behaviour creation algorithms explored are a well-cited a...
Conference Paper
Full-text available
After the Big Bang, it took about 200 million years before the very first stars would form - now more than 13 billion years ago. Unfortunately, we will not be able to observe these stars directly. Instead, we can observe the 'fossil' records that these stars have left behind, preserved in the oldest stars of our own galaxy. When the first stars exp...
Conference Paper
Full-text available
Testing is technically and economically crucial for ensuring software quality. One of the most challenging testing tasks is to create test suites that will reveal potential defects in software. However, as the size and complexity of software systems increase, the task becomes more labour-intensive and manual test data generation becomes infeasible....
Conference Paper
Full-text available
Resilience benchmarking aims to assess a software system's and an organization's ability to cope with failures, e.g., by injecting faults and observing their effects in both testing and production environments. However, existing resilience benchmarks are ad-hoc and based on randomly injected faults. In this paper, we give an overview of the vision...
Chapter
Swarm robots are highly desirable in dealing with complex tasks. However, manual coding of individual robot behaviours and robot collaboration is not trivial especially under unknown and dynamic environments. This study introduced a hyper-heuristic methodology for this challenge, so robots can learn suitable behaviours during the process. The hyper...
Article
Full-text available
This paper presents an adaptive robotic swarm of Unmanned Aerial Vehicles (UAVs) enabling communications between separated non-swarm devices. The swarm nodes utilise machine learning and hyper-heuristic rule evolution to enable each swarm member to act appropriately for the given environment. The contribution of the machine learning is verified wit...
Article
Full-text available
This paper presents an adaptive robotic swarm of Unmanned Aerial Vehicles (UAVs) enabling communications between separated non-swarm devices. The swarm nodes utilise machine learning and hyper-heuristic rule evolution to enable each swarm member to act appropriately for the given environment. The contribution of the machine learning is verified wit...
Chapter
Full-text available
A robot swarm is a solution for difficult and large scale tasks. However, controlling and coordinating a swarm of robots is challenging, because of the complexity and uncertainty of the environment where manual programming of robot behaviours is often impractical. In this study we propose a hyper-heuristic methodology for swarm robots. It allows ro...
Article
Full-text available
Automated test suite generation (ATSG) is an important topic in software engineering, with a wide range of techniques and tools being used in academia and industry. While their usefulness is widely recognized, due to the labor-intensive nature of the task, the effectiveness of the different techniques in automatically generating test cases for diff...
Article
Software engineers often have to estimate the performance of a software system before having full knowledge of the system parameters, such as workload and operational profile. These uncertain parameters inevitably affect the accuracy of quality evaluations, and the ability to judge if the system can continue to fulfil performance requirements if pa...
Chapter
Full-text available
One of our industry partners distributes a multitude of orders of fibre boards all over each of the Australian capital cites, a problem that has been formalised as the Heterogeneous Fleet Vehicle Routing Problem with Time Windows and Three-Dimensional Loading Constraints (3L-HFVRPTW). The fleet consists of two types of trucks with flat loading surf...
Article
Full-text available
Search-based software testing automatically derives test inputs for a software system with the goal of improving various criteria, such as branch coverage. In many cases, evolutionary algorithms are implemented to find near-optimal test suites for software systems. The result of the search is usually received without any indication of how successfu...
Conference Paper
Gravitational search algorithm (GSA) is a population-based optimisation technique that was originally developed to deal with high-dimensional search spaces. In recent years, GSA has been successfully applied to a wide range of problems. At every iteration, the algorithm calculates the gravitational force of each solution with respect to all other s...
Article
Private Cloud provides Cloud services with its relatively limited resources compared to public Clouds. Resources in private Clouds should be used energy efficiently. The resource utilization is determined by the assignment of virtual machines (VMs) to hosts. Because of the frequent changes in the resource requests on VMs, the system might become im...
Chapter
Full-text available
Nature has inspired many algorithms for solving complex problems. Understanding how and why these natural models work leads not only to new insights about nature, but also to an understanding of deep relationships between familiar algorithms. Here, we show that network properties underlie and define a whole family of nature-inspired algorithms. In...
Conference Paper
Full-text available
An Australian company is faced with the logistics problem of distributing small quantities of fibre boards to hundreds of customers every day. The resulting Heterogeneous Fleet Vehicle Routing Problem with Time Windows and Three-Dimensional Loading Constraints has to be solved within a single hour, hence the use of a heuristic instead of an exact m...
Conference Paper
Full-text available
Architecture design is one of the most important steps in software development, since design decisions affect the quality of the final system (e.g. reliability and performance). Due to the ever-growing complexity and size of software systems, deciding on the best design is a computationally intensive and complex task. This issue has been tackled by...
Article
Full-text available
One of the most basic activities performed by an intelligent agent is deciding what to do next. The decision is usually about selecting the move with the highest expectation, or exploring new scenarios. Monte-Carlo Tree Search (MCTS), which was developed as a game playing agent, deals with this exploration–exploitation ‘dilemma’ using a multi-armed...
Article
Full-text available
Evolutionary algorithms (EAs) are robust stochastic optimisers that perform well over a wide range of problems. Their robustness, however, may be affected by several adjustable parameters, such as mutation rate, crossover rate, and population size. Algorithm parameters are usually problem-specific, and often have to be tuned not only to the problem...
Article
Combinatorially complex problems are often optimised with heuristic solvers which generally provide acceptable results but no indication as to how the quality achieved compares to the best possible. In previous work we have introduced Predictive Diagnostic Optimisation (PDO), a heuristic based on local search that provides information about the sea...
Conference Paper
Full-text available
Cloud systems have become a popular platform for business applications due to the flexibility in usage and payment they offer. One of the caveats of Cloud systems is their high energy consumption. Minimizing energy consumption while maintaining a high service level has become a relevant optimization task for Cloud providers. Opportunities for energ...
Article
Full-text available
Component deployment is a combinatorial optimisation problem in software engineering that aims at finding the best allocation of software components to hardware resources in order to optimise quality attributes, such as reliability. The problem is often constrained due to the limited hardware resources, and the communication network, which may conn...
Article
Full-text available
Complex combinatorial problems are most often optimised with heuristic solvers which usually deliver acceptable results without any indication of the quality obtained. Recently, Predictive Diagnostic Optimisation was proposed as a means of characterising the fitness landscape while optimising a combinatorial problem. The scalars produced by Predict...
Article
Full-text available
The Heterogeneous Fleet Capacitated Vehicle Routing Problem with Time Windows and Three- Dimensional Loading Constraints (3L-HFCVRPTW) combines the aspects of 3D loading, heterogeneous transport with capacity constraints and time windows for deliveries. It is the first formulation that comprises all these aspects and takes its inspiration from a pr...
Conference Paper
Full-text available
ince the establishment of the area of search-based software engineering, a wide range of optimisation techniques have been applied to automate various stages of software design and development. Architecture optimisation is one of the aspects that has been automated with methods like genetic algorithms, local search, and ant colony optimisation. A k...
Article
Full-text available
Software testing is a crucial part of software development. It enables quality assurance, such as correctness, completeness and high reliability of the software systems. Current state-of-the-art software testing techniques employ search-based optimisation methods, such as genetic algorithms to handle the difficult and laborious task of test data ge...