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

Daming Zou

dblp:167/0212 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
2since 2021 · last 2022
0000-0001-9562-6492ORCID · corroborated

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

Software engineering, systems software and programming languages · 5 · 4 first-author · 2 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
5 papers
Program analysis · 62% Debugging and program repair · 21% Software testing · 9%

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

TopicWeightPapersLastEvidence papers
Program analysis
dynamic analysis
1.022022
Oracle-free repair synthesis for floating-point programs · Proc. ACM Program. Lang. 2022
Detecting floating-point errors via atomic conditions · Proc. ACM Program. Lang. 2020
Program analysis › error detection
floating-point error detection
0.932020
Detecting floating-point errors via atomic conditions · Proc. ACM Program. Lang. 2020
Detecting and fixing precision-specific operations for measuring floating-point errors · SIGSOFT FSE 2016
A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies · ICSE (1) 2015
Debugging and program repair
automated program repair
0.612022
Oracle-free repair synthesis for floating-point programs · Proc. ACM Program. Lang. 2022
Program analysis › numerical program analysis
floating-point error analysis
0.612022
Oracle-free repair synthesis for floating-point programs · Proc. ACM Program. Lang. 2022
Debugging and program repair
fault localization
0.512021
An Empirical Study of Fault Localization Families and Their Combinations · IEEE Trans. Software Eng. 2021
Program analysis
numerical program analysis
0.412020
Detecting floating-point errors via atomic conditions · Proc. ACM Program. Lang. 2020
Program analysis › data flow analysis › value analysis
floating-point analysis
0.212016
Detecting and fixing precision-specific operations for measuring floating-point errors · SIGSOFT FSE 2016
Software testing
search-based software testing
0.212015
A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies · ICSE (1) 2015
Software testing
test input generation
0.212015
A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies · ICSE (1) 2015
Empirical software engineering › software engineering research methodology
empirical study
0.112021
An Empirical Study of Fault Localization Families and Their Combinations · IEEE Trans. Software Eng. 2021

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

repair synthesis · 0.6micro-structure characterization · 0.6empirical study · 0.5combination · 0.5condition numbers · 0.4atomic conditions · 0.4precision-specific operation detection · 0.2meta-heuristic search · 0.2genetic algorithm · 0.2dynamic analysis · 0.2
YearPublicationVenuePosition
2022 Oracle-free repair synthesis for floating-point programs
abstract
The floating-point representation provides widely-used data types (such as “float” and “double”) for modern numerical software. Numerical errors are inherent due to floating-point’s approximate nature, and pose an important, well-known challenge. It is nontrivial to fix/repair numerical code to reduce numerical errors — it requires eithernumerical expertise(for manual fixing) or high-precisionoracles(for automatic repair); both are difficult requirements. To tackle this challenge, this paper introduces aprincipled dynamic approachthat isfully automatedandoracle-freefor effectively repairing floating-point errors. The key of our approach is the novel notion ofmicro-structurethat characterizes structural patterns of floating-point errors. We leverage micro-structures’ statistical information on floating-point errors to effectively guide repair synthesis and validation. Compared with existing state-of-the-art repair approaches, our work is fully automatic and has the distinctive benefit of not relying on the difficult to obtain high-precision oracles. Evaluation results on 36 commonly-used numerical programs show that our approach is highly efficient and effective: (1) it is able to synthesize repairs instantaneously, and (2) versus the original programs, the repaired programs have orders of magnitude smaller floating-point errors, while having faster runtime performance.
Daming Zou, Yuanfeng Shi, Yingfei Xiong 0001, Zhendong Su 0001
Proc. ACM Program. Lang.1
2021 An Empirical Study of Fault Localization Families and Their Combinations
abstract
The performance of fault localization techniques is critical to their adoption in practice. This paper reports on an empirical study of a wide range of fault localization techniques on real-world faults. Different from previous studies, this paper (1) considers a wide range of techniques from different families, (2) combines different techniques, and (3) considers the execution time of different techniques. Our results reveal that a combined technique significantly outperforms any individual technique (200 percent increase in faults localized in Top 1), suggesting that combination may be a desirable way to apply fault localization techniques and that future techniques should also be evaluated in the combined setting. Our implementation is publicly available for evaluating and combining fault localization techniques.
Daming Zou, Yingfei Xiong 0001, Michael D. Ernst, Lu Zhang 0023
IEEE Trans. Software Eng.1
2020 Detecting floating-point errors via atomic conditions
abstract
This paper tackles the important, difficult problem of detecting program inputs that trigger large floating-point errors in numerical code. It introduces a novel, principled dynamic analysis that leverages the mathematically rigorously analyzed condition numbers for atomic numerical operations, which we call atomic conditions , to effectively guide the search for large floating-point errors. Compared with existing approaches, our work based on atomic conditions has several distinctive benefits: (1) it does not rely on high-precision implementations to act as approximate oracles, which are difficult to obtain in general and computationally costly; and (2) atomic conditions provide accurate, modular search guidance. These benefits in combination lead to a highly effective approach that detects more significant errors in real-world code (e.g., widely-used numerical library functions) and achieves several orders of speedups over the state-of-the-art, thus making error analysis significantly more practical. We expect the methodology and principles behind our approach to benefit other floating-point program analysis tasks such as debugging, repair and synthesis. To facilitate the reproduction of our work, we have made our implementation, evaluation data and results publicly available on GitHub at https://github.com/FP-Analysis/atomic-condition.
Daming Zou, Muhan Zeng, Yingfei Xiong 0001, Zhoulai Fu, Lu Zhang 0023, Zhendong Su 0001
Proc. ACM Program. Lang.1
2016 Detecting and fixing precision-specific operations for measuring floating-point errors
abstract
The accuracy of the floating-point calculation is critical to many applications and different methods have been proposed around floating-point accuracies, such as detecting the errors in the program, verifying the accuracy of the program, and optimizing the program to produce more accurate results. These approaches need a specification of the program to understand the ideal calculation performed by the program, which is usually approached by interpreting the program in a precision-unspecific way.
Daming Zou, Xinrui He, Yingfei Xiong 0001, Lu Zhang 0023, Gang Huang 0001
SIGSOFT FSE2
2015 A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies
abstract
It is well-known that using floating-point numbers may inevitably result in inaccurate results and sometimes even cause serious software failures. Safety-critical software often has strict requirements on the upper bound of inaccuracy, and a crucial task in testing is to check whether significant inaccuracies may be produced. The main existing approach to the floating-point inaccuracy problem is error analysis, which produces an upper bound of inaccuracies that may occur. However, a high upper bound does not guarantee the existence of inaccuracy defects, nor does it give developers any concrete test inputs for debugging. In this paper, we propose the first metaheuristic search-based approach to automatically generating test inputs that aim to trigger significant inaccuracies in floating-point programs. Our approach is based on the following two insights: (1) with FPDebug, a recently proposed dynamic analysis approach, we can build a reliable fitness function to guide the search; (2) two main factors -- the scales of exponents and the bit formations of significands -- may have significant impact on the accuracy of the output, but in largely different ways. We have implemented and evaluated our approach over 154 real-world floating-point functions. The results show that our approach can detect significant inaccuracies in the subjects.
Daming Zou, Yingfei Xiong 0001, Lu Zhang 0023, Zhendong Su 0001, Hong Mei 0001
ICSE (1)1