Jinx Debugger
This article needs additional citations for verification. (February 2018) |
Jinx was a concurrency debugger that deterministically controlled the interleaving of workloads across processor cores, focusing on shared memory interactions. Using this deterministic approach, Jinx aimed to increase the frequency of occurrence of elusive shared memory bugs, sometimes called Heisenbugs. Jinx is no longer available. Corensic, the company that was developing Jinx, was bought by F5 Networks and the Jinx project was cancelled.[1]
Jinx worked by dynamically building a set of potential interleavings (i.e. alternate eventualities, or execution scenarios, that will occur under some future condition) that are most likely to result in concurrency faults, and quickly tested those execution paths to surface concurrency problems such as deadlocks, race conditions and atomicity violations that are found in multiprocessing applications.
Unlike model checkers, Jinx did not require the specification of a model. Unlike dynamic and static code analysis methods, Jinx was notable in that it produced no false positives (spurious bug reports). This was because Jinx tested the scenarios that are likely to be bugs, as opposed to just inferring those scenarios by analyzing source code or observing the execution of a program.
Jinx was implemented as a hypervisor, giving it the ability to observe the effects of all elements of the software environment on thread interleaving. Jinx operated independently of any programming language or threading libraries or tools.
Jinx was developed by a (now defunct) company named Corensic in Seattle, Washington based on research performed at the University of Washington[2] and initially presented at the ASPLOS conference of 2009.
References
- ^ Bartosz Milewski [@BartoszMilewski] (23 September 2014). "@double_thunk Corensic was bought by F5 and Jinx got cancelled. Sorry!" (Tweet) – via Twitter.
- ^ "Sampa: Research Projects". sampa.cs.washington.edu. Retrieved June 11, 2023.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.