Tag debugging

Sangmin @ ISSTA’13

Sangmin is in Lugano, Switzerland this week to present his new paper on Griffin at ISSTA, the 2013 International Symposium on Software Testing and Analysis. Griffin is a tool that aims to help programmers find bugs in their concurrent software. Congrats, Sangmin!

  • Sangmin Park, Mary Jean Harrold, and Richard Vuduc. “Griffin: Grouping suspicious memory-access patterns to improve understanding of concurrency bugs.” In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), Lugano, Switzerland, July 15-20, 2013.

    Griffin's "Bug Graph" concept

    A bug graph, one of Griffin’s aids for programmers who need to debug their concurrent software.

 

CAV-(EC)^2 ’11

Just got back from the (EC)2 workshop in Snowbird, co-located with the Computer Aided Verification conference. This was a great opportunity to learn about bridging topics between performance-oriented HPC and formal verification. You’ll find our talk slides here: [PDF]

Falcon @ ICSE’10

Today, Sangmin will present his work on Falcon, a tool to localize faults in concurrent software, at the International Conference on Software Engineering (ICSE), which is being held in Cape Town, South Africa. Here’s a brief summary of the main ideas underlying Sangmin’s work.

Prior work suggests that concurrency bugs can be described heuristically by patterns of thread-interleaved memory references. However, just because a particular pattern occurs at run-time does not mean it is associated with a bug. Thus, the Falcon technique works as follows. First, we assume that a given program can be executed multiple times, and that there is a test oracle that tells us whether an execution “passed” or “failed.” Falcon then works by (a) observing both patterns and test execution outcomes; and (b) analyzes this data statistically to determine which patterns are most associated with the failing runs, and ranks those patterns. Since the patterns themselves correspond to locations in the source code, this overall analysis effectively gives the programmer a ranked list of program locations to inspect. In Sangmin’s benchmark suite, the first or second most highly ranked patterns/locations were always associated with the bug! By contrast, prior efforts of which we are aware produce either an unranked list of patterns, or a ranked list of individual statements rather than complete patterns.

ICSE’10 paper accepted

Sangmin Park‘s paper on fault localization applied to concurrent programs has been accepted for publication! The paper will appear at the ACM/IEEE International Conference on Software Engineering (ICSE), to be held in Cape Town, South Africa in May 2010. This paper describes a novel technique for pinpointing the cause of program failure in multithreaded Java software. Sangmin designed and implemented this approach in a prototype tool called “Falcon.” This effort is joint between Prof. Mary Jean Harrold(Sangmin’s primary advisor) and The HPC Garage.