Tools and methods are described herein for discovering race condition errors in a software program. The errors are discovered by deliberately causing a processor executing the test program to switch threads at intervals other than normally scheduled by an operating system. The thread switching is caused upon occurrence of selected events. The intervals may be selected automatically or with user input. Furthermore, thread switching may be caused during conditions more likely to cause race condition errors. For example, thread switches may be caused between threads that share control of a memory device or while the processor is executing instructions related to synchronization tools (e. g. locks, mutex, etc. ).
Forward Walking Through Binary Code To Determine Offsets For Stack Walking
A method used for walking forward through a binary image of a procedure to identify a return instruction, and while walking forward through the binary image, identifying a set of instructions that affect the distance to a return address stored in the stack. After calculating distance structure variables based on the set of instructions, and using the distance structure variables to update the stack pointer and the instruction pointer, returning to walk forward through the binary image pointed to by the updated instruction pointer. This continues until the stack is empty, and then a list of all instruction pointers are returned, as a call chain. An additional optimization includes caching a list on instruction pointer addresses with already computed distance structure variables.
Andrew James Edwards - Bellevue WA, US Darek Mihocka - Bellevue WA, US Ronald C. Murray - Sammamish WA, US Sanjay Bhansali - Sammamish WA, US Stuart D. de Jong - Sammamish WA, US Wen-Ke Chen - Redmond WA, US Kenneth Bryant Pierce - Sammamish WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 9/45
US Classification:
717124
Abstract:
Program execution can be monitored and recorded for later playback. Certain state changes that can be predicted via a virtual processor during playback need not be recorded, so a compressed recording can be stored. To facilitate random access with respect to time during playback, key frames can be stored within the compressed recording. An index mechanism can associate key frames with particular memory addresses. Additionally, a snapshot of values for memory addresses can be used to further facilitate determining the value of a memory address without having to simulate execution. Multiprocessor executions can be supported, and playback can be done on a machine type different from that on which recording took place.
Isbn (Books And Publications)
Interpreting the Landscapes of Grand Teton and Yellowstone National Parks: Recent and Ongoing Geology
Kenneth Pierce Chief Information Officer, It Executive Director
University of Texas at El Paso College/University · Direct Mail Advertising Services College/University · Ret Books College/University · Museum/Art Gallery College/University · Theatrical Producers/Services College/University · University Police Department · Higher Education · College/University Elementary/Secondary School
US Senator Maria Cantwell Seattle, WA May 2007 to Apr 2011 Constituent Services DirectorUS Senator Maria Cantwell Seattle, WA Mar 2001 to May 2007 Constituent Services RepresentativeLearning Disabilities Association Washington Redmond, WA Sep 2001 to Apr 2002 Pre-Employment Training InstructorCoordinated Campaign Seattle, WA Aug 2000 to Dec 2000 Field RepresentativeShoreline Community College Shoreline, WA Mar 1999 to Aug 2000 Computer Numerical Control Instructor (CNC)
Education:
Bates Technical College Tacoma, WA Jan 1999 to Jan 2000 Elements of Teaching, Occupational Analysis in TeachingShoreline Community College Shoreline, WA Jan 1997 to Jan 1997 Earned 20 credits towards Associate of Arts in Computer Numerical Control Machinery (CNC)Franklin High School Seattle, WA Jan 1977 to Jan 1979 Diploma
Skills:
Customer Service Management Complaint Handling & Resolution Operations & Process Management Typing Speed 60 - 70 wpm Training & Instruction Front Office Supervision Office & Facilities Management Persuasion & Negotiation Teambuilding & Liaison Multi-line Phone Systems Claim Processing Computer Applications
St Petersburg, FLPresident at North American Technology Partners,... I'm the family and friends Mr Fix It. I fix all things broken but especially computers and household items. Not the best babysitter but good at changing diapers... I'm the family and friends Mr Fix It. I fix all things broken but especially computers and household items. Not the best babysitter but good at changing diapers when required.