Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hoang Lam Nguyen

dblp:214/0485 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
3since 2021 · last 2024
0009-0009-2007-1141ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Software testing · 68% Program analysis · 28% Requirements engineering and software design · 4%
Artificial intelligence
1 paper
Trustworthy machine learning · 100%
Network and information security
1 paper
Hardware security and side channels · 100%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
fuzzing
1.022022
BEDIVFUZZ: Integrating Behavioral Diversity into Generator-based Fuzzing · ICSE 2022
MoFuzz: A Fuzzer Suite for Testing Model-Driven Software Engineering Tools · ASE 2020
Software testing › fuzzing › input generation
generator-based fuzzing
0.612022
BEDIVFUZZ: Integrating Behavioral Diversity into Generator-based Fuzzing · ICSE 2022
Software testing › fuzzing
mutation-based fuzzing
0.612022
BEDIVFUZZ: Integrating Behavioral Diversity into Generator-based Fuzzing · ICSE 2022
Program analysis
differential program analysis
0.412020
HyDiff: hybrid differential software analysis · ICSE 2020
Program analysis
dynamic analysis
0.412020
HyDiff: hybrid differential software analysis · ICSE 2020
Machine learning › Trustworthy machine learning
robustness
0.112020
HyDiff: hybrid differential software analysis · ICSE 2020
Hardware security and side channels
side-channel attack
0.112020
HyDiff: hybrid differential software analysis · ICSE 2020
Requirements engineering and software design
model-driven engineering
0.112020
MoFuzz: A Fuzzer Suite for Testing Model-Driven Software Engineering Tools · ASE 2020

Methods — techniques the papers use, named apart from their topics

symbolic execution · 1.3hybrid analysis · 1.3fuzzing · 1.3hill numbers · 0.6graph grammar · 0.4coverage-guided mutation · 0.4
YearPublicationVenuePosition
2024 Evolutionary Testing for Program Repair
abstract
Automated program repair (APR) allows for au-tonomous software protection and improvement. Many proposed repair techniques rely on available test suites, since tests are available in real-world settings. Tests are incomplete specifications, however. As a result, repairs generated based on tests may suffer from the test overfitting problem. The patches produced by APR techniques may pass the given tests and thus be plausible, and yet be an incorrect patch. This hints towards more extensive test suites to guide program repair. Generating additional tests to improve the test suite quality is generally difficult because the oracle or expected observable behavior of the generated tests is unknown. In our work, we first construct additional oracles by instrumenting buggy programs from the Defects4j benchmark with the knowledge obtained from the available bug reports. Then, we formulate a coevolution approach that generates tests and repairs in a unified workflow. The complete workflow is implemented as an extension of the well-known Java testing framework Evosuite. This includes re-purposing the search in Evosuite to search for repairs (instead of searching for tests) and enables an easy adoption for developers who are already familiar with Evosuite for test suite generation. The evaluation of our tool EvoREPAIR shows that coevolution positively impacts the quality of patches and tests. In the future, we hope that such coevolution can inspire new repair tools and techniques.
Haifeng Ruan, Hoang Lam Nguyen, Ridwan Salihin Shariffdeen, Yannic Noller, Abhik Roychoudhury
ICST2
2022 BEDIVFUZZ: Integrating Behavioral Diversity into Generator-based Fuzzing
abstract
A popular metric to evaluate the performance of fuzzers is branch coverage. However, we argue that focusing solely on covering many different branches (i.e., the richness) is not sufficient since the majority of the covered branches may have been exercised only once, which does not inspire a high confidence in the reliability of the covered code. Instead, the distribution of the executed branches (i.e., the evenness) should also be considered. That is, behavioral diversity is only given if the generated inputs not only trigger many different branches, but also trigger them evenly often with diverse inputs. We introduce BeDivFuzz, a feedback-driven fuzzing technique for generator-based fuzzers. BeDivFuzz distinguishes between structure-preserving and structure-changing mutations in the space of syntactically valid inputs, and biases its mutation strategy towards validity and behavioral diversity based on the received program feedback. We have evaluated BeDivFuzz on Ant, Maven, Rhino, Closure, Nashorn, and Tomcat. The results show that BeDivFuzz achieves better behavioral diversity than the state of the art, measured by established biodiversity metrics, namely the Hill numbers, from the field of ecology.
Hoang Lam Nguyen, Lars Grunske
ICSE1
2021 Sampling What Matters: Relevance-guided Sampling of Event Logs
abstract
The comparison of a model of a process against event data recorded during its execution, known as conformance checking, is an important means in process analysis. Yet, common conformance checking techniques are computationally expensive, which makes a complete analysis infeasible for large logs. To mitigate this problem, existing techniques leverage data samples. Then, the result quality depends on the relevance of the sample for a specific analysis task. Existing sampling strategies therefore rely on a static assumption on what constitutes relevant event data, which is generally unknown a priori.In this paper, we present relevance-guided sampling of event logs. Instead of employing a fixed relevance hypothesis, our approach learns the characteristics of event data that determine its relevance for conformance checking. To this end, we first explore the correlations between characteristics of the event data and the goal of a conformance checking task, before exploiting these correlations to guide the selection of a data sample. We present different instantiations of this approach and demonstrate that they significantly improve the quality of samples, and hence of conformance checking results, compared to baseline strategies.
Martin Kabierski, Hoang Lam Nguyen, Lars Grunske, Matthias Weidlich 0001
ICPM2
2020 HyDiff: hybrid differential software analysis
abstract
Detecting regression bugs in software evolution, analyzing side-channels in programs and evaluating robustness in deep neural networks (DNNs) can all be seen as instances of differential software analysis, where the goal is to generate diverging executions of program paths. Two executions are said to be diverging if the observable program behavior differs, e.g., in terms of program output, execution time, or (DNN) classification. The key challenge of differential software analysis is to simultaneously reason about multiple program paths, often across program variants.
Yannic Noller, Corina Pasareanu, Marcel Böhme, Youcheng Sun, Hoang Lam Nguyen, Lars Grunske
ICSE5
2020 MoFuzz: A Fuzzer Suite for Testing Model-Driven Software Engineering Tools
abstract
Fuzzing or fuzz testing is an established technique that aims to discover unexpected program behavior (e.g., bugs, security vulnerabilities, or crashes) by feeding automatically generated data into a program under test. However, the application of fuzzing to test Model-Driven Software Engineering (MDSE) tools is still limited because of the difficulty of existing fuzzers to provide structured, well-typed inputs, namely models that conform to typing and consistency constraints induced by a given meta-model and underlying modeling framework. By drawing from recent advances on both fuzz testing and automated model generation, we present three different approaches for fuzzing MDSE tools: A graph grammar-based fuzzer and two variants of a coverage-guided mutation-based fuzzer working with different sets of model mutation operators. Our evaluation on a set of real-world MDSE tools shows that our approaches can outperform both standard fuzzers and model generators w.r.t. their fuzzing capabilities. Moreover, we found that each of our approaches comes with its own strengths and weaknesses in terms of fault finding capabilities and the ability to cover different aspects of the system under test. Thus the approaches complement each other, forming a fuzzer suite for testing MDSE tools.
Hoang Lam Nguyen, Nebras Nassar, Timo Kehrer, Lars Grunske
ASE1