Project Details
Description
Bug localisation is one of the most difficult tasks in program development. Ineffective
bug localisation severely affects the development schedule to serve users. As energy
efficiency is becoming a prime concern in the implementation of many programs,
problematic performance issues of programs are increasingly intolerable by users. This
situation places heavy stress on the developers to locate performance bugs in software
programs. On the other hand, real-world software applications such as MySQL, Chrome,
and Thunderbird are all multithreaded. Effective fault localisation techniques should be
applicable to locate faults in multithreaded programs.Both static and dynamic bug localisation techniques have been proposed. They either
use predefined patterns to mine the source code of the program or contrast between
executions with performance problems against executions without such problems to
correlate program entities to performance anomalies. These techniques could not
adequately handle applications suffering from performance issues with unseen patterns
nor do they work well when the notion of executions with problematic performance issue
is fuzzy or changes over time even for the same application. Unfortunately, the list of
such patterns could be endless, and the same pattern may identify a true performance
bug in one application but produce a false positive for another, as one size typically
cannot fit all. Moreover, the distinction between executions with and without
performance problems could be unscientific, because executions without performance
bugs may still exercise the same fragment of code that causes performance issues in
other executions.In this project, we propose to develop a novel performance bug localisation framework
for multithreaded programs. It does not use any pattern and does not need to
distinguish executions with and without performance issues. Our framework is based on
trend estimation and curve formulation over a set of executions to identify the code
locations that cause problematic performance behavior. To the best of our knowledge, no
prior project by other researchers ever proposes to investigate performance bugs or other
types of bugs in this direction. This project will provide a framework for the developers
to combat against the performance issues of the programs that they are developing or
maintaining.
| Project number | 9041926 |
|---|---|
| Grant type | GRF |
| Status | Finished |
| Effective start/end date | 1/01/14 → 21/06/18 |
Fingerprint
Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.
Research output
- 9 RGC 21 - Publication in refereed journal
-
Accuracy Graphs of Spectrum-Based Fault Localization Formulas
Tang, C. M., Chan, W. K., Yu, Y. T. & Zhang, Z., Jun 2017, In: IEEE Transactions on Reliability. 66, 2, p. 403-424Research output: Journal Publications and Reviews › RGC 21 - Publication in refereed journal › peer-review
37 Link opens in a new tab Citations (Scopus) -
Cross-validation based K nearest neighbor imputation for software quality datasets: An empirical study
Huang, J., Keung, J. W., Sarro, F., Li, Y.-F., Yu, Y. T., Chan, W. K. & Sun, H., Oct 2017, In: Journal of Systems and Software. 132, p. 226-252Research output: Journal Publications and Reviews › RGC 21 - Publication in refereed journal › peer-review
83 Link opens in a new tab Citations (Scopus) -
SDA-CLOUD: A Multi-VM Architecture for Adaptive Dynamic Data Race Detection
Jia, C., Yang, C., Chan, W. K. & Yu, Y. T., Jan 2017, In: IEEE Transactions on Services Computing. 10, 1, p. 80-93Research output: Journal Publications and Reviews › RGC 21 - Publication in refereed journal › peer-review
3 Link opens in a new tab Citations (Scopus)