Guoliang Jin

Learn More
Developers frequently use inefficient code sequences that could be fixed by simple patches. These inefficient code sequences can cause significant performance degradation and resource waste, referred to as performance bugs. Meager increases in single threaded performance in the multi-core era and increasing emphasis on energy efficiency call for more effort(More)
Fixing concurrency bugs (or "crugs") is critical in modern software systems. Static analyses to find crugs such as data races and atomicity violations scale poorly, while dynamic approaches incur high run-time overheads. Crugs manifest only under specific execution interleavings that may not arise during in-house testing, thereby demanding a lightweight(More)
Concurrency bugs are caused by non-deterministic interleavings between shared memory accesses. Their effects propagate through data and control dependences until they cause software to crash, hang, produce incorrect output, etc. The lifecycle of a bug thus consists of three phases: (1) triggering, (2) propagation, and (3) failure. Traditional techniques(More)
Sequential and concurrency bugs are widespread in deployed software. They cause severe failures and huge financial loss during production runs. Tools that diagnose production-run failures with low overhead are needed. The state-of-the-art diagnosis techniques use software instrumentation to sample program properties at run time and use off-line statistical(More)
Cloud infrastructures provide a rich set of management tasks that operate computing, storage, and networking resources in the cloud. Monitoring the executions of these tasks is crucial for cloud providers to promptly find and understand problems that compromise cloud availability. However, such monitoring is challenging because there are multiple(More)
The excessive proliferation of the myeloid marrow compartment in Philadelphia chromosome (Ph)-positive acute and chronic leukemias has been largely attributed to a hyperactive and autonomously acting hybrid tyrosine kinase BCR-ABL, a product of the fusion between the second exon of the c-ABL proto-oncogene and 5' portions of the BCR gene on chromosome 22.(More)
Multi-threaded programs are pervasive, yet difficult to write. Missing proper synchronization leads to correctness bugs and over synchronization leads to performance problems. To improve the correctness and efficiency of multi-threaded software, we need a better understanding of synchronization challenges faced by real-world developers. This paper studies(More)
Cancer stem cells (CSCs) are capable of continuous proliferation and self-renewal and are proposed to play significant roles in oncogenesis, tumor growth, metastasis and cancer recurrence. CSCs are considered derived from normal stem cells affected by the tumor microenvironment although the mechanism of development is not clear yet. In 2007, Yamanaka's(More)