Learn More
Owing to the inherent non-determinism of concurrent programs, traditional debugging techniques are not sufficient, especially in the scene of postmortem debugging. Exploring defects through static analysis can avoid the high cost of failure reproduction. In this paper, we present a novel debugging method for concurrency bugs. We make use of information in(More)
Exception handling is a vital but often poorly tested part of a program. Static analysis can spot bugs on exceptional paths without actually making the exceptions happen. However, the traditional methods only focus on null dereferences on exceptional paths, but do not check the states of variables, which may be corrupted by exceptions. In this paper we(More)
Although the market for smartphones is growing rapidly, their utility remains severely limited by the battery life. As such, much research effort has been made to understand the power consumption of the application running on mobile devices. However, dynamic profiling tools need to run on the customized android platform, making them not suitable for(More)
Flash memory-based SSD RAID has an excellent I/O performance with high stability, which making it get more and more attention from companies and manufacturers, especially in I/O-intensive environments. However, frequently updating parity also makes the SSD have a higher overhead in the process of garbage collection. To this end, we propose RAID-Aware SSD(More)
Exception handling has been introduced into object oriented programming languages to help developing robust software. At the same time, it makes programming more difficult and it is not easy to write high quality exception handling codes. Careless exception handling code will introduce bugs and it usually forms certain kind of bug pattern. In this paper we(More)
NAND flash memory has become a popular alternative to replace disks in a storage system because of its non-volatility, high I/O performance, shock resistance, and low power consumption. However, NAND flash memory has characteristics of erase-before-write and limited cycles of write and erase operations, which introduce new challenges into the design of file(More)
  • 1