Julian Seward wrote: >>> What does messing with the scheduling get you that standard race >>> detection algorithms don't? >> Of course, you only see the error if it actually happens. Darryl is >> trying to force the problems to occur. > > I'm not sure I'm convinced about that. A lockset based race detector > can report violations of a locking discipline, that could lead to > races, even if they didn't happen in this particular run. Indeed, > that insensitivity to scheduling is basically the main advantage of > the lockset algorithm family.
Not looking to replace that technique, no one technique is best; I'm looking to supplement it. Providing a new debugging angle on the "threading problem" for which the developer can see and verify his design is working as expected. That the developer can dictate the rules/law of operation and have a tool perform runtime verification of those laws. But before that getting the necessary data to perform that type of audit is the main task. Writing testcases to prove the design of some widget or sub-system interaction would be the way to prove that component is designed well. The work can also be reused when migrating the code to another platform/host/cpu/environment for re-verification there. The thingy being checked could be a threading primitive or could be basic interaction verification of operation with key parts of a program. For the most part my scheduling discussion is really to address the "sequential access to memory view" of what is going on. Since I can not see how you can provide that without only one thread running application/client code at any one time. It's much less about trying to force problem to occur, since there is a pretty easy way to achieve that with nanosleep() just after taking a lock. It's not ideal but it would work fine with testcases. The memory audit is far more important a goal at this stage. Darryl ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
