Browse Prior Art Database

Method for testing code using Transactional Memory instructions Disclosure Number: IPCOM000238638D
Publication Date: 2014-Sep-09
Document File: 1 page(s) / 24K

Publishing Venue

The Prior Art Database


A method for testing failure paths for code using Transactional Memory instructions is disclosed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 1

Method for testing code using Transactional Memory instructions

Disclosed is a method for testing failure path for code using Transactional Memory instructions.

The use of Transactional Memory instructions provide a potentially lower overhead method of updating shared data. The instructions allow the programmer to attempt to update the data without locking memory as is traditionally done. The hope is that there will not be a conflict with another process that is also updating the same piece of data. The Transactional Memory instruction executes the success code path. If no conflict occurs the Transactional memory instructions succeed and the data changes are committed to memory. However, if a conflict does occur, the hardware "rolls back" the memory and register updates and takes the failure path associated with the transactional memory instruction. The issue is that testing both the success and failure code paths can be very difficult in that the user may not be able to reliably cause the Transactional Memory instruction to fail so the failure code path can be properly tested and verified. This issue is addressed by providing two execution modes for testing the software. In the first mode, the hardware or a machine emulator/simulator will always treat the Transactional Memory instruction as failing causing the failure path to execute every time. The second mode is the "normal" mode of operation where the Transactional Memory instruction will succeed as long as the constraints with the instruction are satisfied. By having the hardware or the simulation software force the Transactional Memory instruction to fail based on a user specified execution mode, the software under development can be completely tested without altering the code. Furthermore, the user can guarantee that all of the failure paths have been prop...