14 research outputs found

    Dynamic photon painting

    Get PDF
    Photon-based radiosurgery is widely used for treating local and regional tumors. The key to improving the quality of radiosurgery is to increase the dose falloff rate from high dose regions inside the tumor to low dose regions of nearby healthy tissues and structures. Currently, most radiosurgeries rely on focusing a number of external radiation beams to create a sharp dose falloff. As the number of focused beams increases, the contributions from each beam will inevitably decrease, and hence an improved dose falloff will be obtained. However, with most radiosurgeries being delivered in a step-and-shoot manner, the number of external beams is limited to a few hundred. For example, Gamma Knife radiosurgery, which has long been a gold standard for radiosurgery, uses about two hundred beams. In this research, we investigated the use of Dynamic Photon Painting (DPP) to further increase dose falloff rate. The key idea of DPP is to treat a target by moving a beam source along a dynamic trajectory, where the speed, directions and even dose rate of the beam source change constantly during irradiation. A number of studies regarding DPP were carried out in this research. We found that DPP can create a dose gradient that rivals proton Bragg Peak and outperforms Gamma Knife radiosurgery. These promising results indicate that DPP has the potential to significantly improve current photon-based radiosurgery

    Static Detection of Atomicity Violations in Object-Oriented Programs.

    Full text link

    Mobility dilemmas: Conflict analysis of road constructions in a Tibetan tourism community in China

    Get PDF
    Road construction offers a unique lens through which to investigate tourism mobility. To date, research has focused on the socio-cultural effects of road construction, such as its influence on tourists’ movements and its hindrance to tourism development, with less use of systematic methods to analyze road construction-related conflicts. Accordingly, this study comprised a systematic analysis of road construction-related conflicts in Yubeng, China, and potential strategies to solve the underlying mobility dilemmas. A geo-historical trajectory of conflicts was examined, and road construction conflicts were categorized as involving resource competition, tourism dilemma, modern anxiety, or protection paradox. Then, formal conflict analysis and an evolutionary game model were used to analyze these different conflict categories and develop a general pattern of strategies by which the dilemmas might be resolved. The theoretical implications and practical insights of the findings for tourism development, as well as other social conflict contexts, were also investigated

    Drinking from Both Glasses: Combining Pessimistic and Optimistic Tracking of Cross-Thread Dependences *

    Get PDF
    Abstract It is notoriously challenging to develop parallel software systems that are both scalable and correct. Runtime support for parallelism-such as multithreaded record & replay, data race detectors, transactional memory, and enforcement of stronger memory models-helps achieve these goals, but existing commodity solutions slow programs substantially in order to track (i.e., detect or control) an execution's cross-thread dependences accurately. Prior work tracks cross-thread dependences either "pessimistically," slowing every program access, or "optimistically," allowing for lightweight instrumentation of most accesses but dramatically slowing accesses involved in cross-thread dependences. This paper seeks to hybridize pessimistic and optimistic tracking, which is challenging because there exists a fundamental mismatch between pessimistic and optimistic tracking. We address this challenge based on insights about how dependence tracking and program synchronization interact, and introduce a novel approach called hybrid tracking. Hybrid tracking is suitable for building efficient runtime support, which we demonstrate by building hybridtracking-based versions of a dependence recorder and a region serializability enforcer. An adaptive, profile-based policy makes runtime decisions about switching between pessimistic and optimistic tracking. Our evaluation shows that hybrid tracking enables runtime support to overcome the performance limitations of both pessimistic and optimistic tracking alone

    Specification and verification challenges for sequential object-oriented programs

    Get PDF
    The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in the last several years. This paper describes several remaining challenges and approaches to their solution

    FlashLight: A Dynamic Detector of Shared State, Race Conditions, and Locking Models in Concurrent Java Programs

    Get PDF
    Concurrent Java programs are difficult to understand and implement correctly. This difficultly leads to code faults that are the source of many real-world reliability and security problems. Many factors contribute to concurrency faults in Java code; for example, programmers may not understand Java language semantics or, when using a Java library or framework, may not understand that their resulting program is concurrent. This thesis describes a dynamic analysis tool, named FlashLight, that detects shared state and possible race conditions within a program. FlashLight illuminates the concurrency within a program for programmers who are wholly or partially in the dark about their software\u27s concurrency. FlashLight also works in concert with the Fluid assurance tool to propose Greenhouse-style lock policy models based on a program\u27s observed locking behavior. After review by a programmer to ensure reasonableness, these models can be verified by the Fluid assurance tool. The author\u27s combination of a dynamic tool with a program verification system focused on concurrency fault detection and repair is the primary contribution of this research. He applied FlashLight to several concurrent Java programs, including a large commercial web application server. His case study experiences induced him to improve FlashLight to do the following: (1) allow the programmer to specify interesting time quantums (e.g., this is the start-up phase of the program), and (2) support the common Java programming idiom of not locking shared state during object construction. Both improvements help to reduce false positives. FlashLight introduces an overhead of roughly 1.7 times the original execution time of the program. The most significant limitation of FlashLight is that it is not fully integrated into the Fluid assurance tool with respect to the user experience

    Fast and Precise On-The-Fly Data Race Detection

    Get PDF
    While concurrent programming is quickly gaining popularity lately, developing bug-free programs is still challenging. Although developers have a wide choice of race detection tools available, we have found that the majority of these techniques do not scale well and developers are often forced to balance precision with speed. Additionally, various practical issues force even precise race detectors to produce spurious warnings, defeating their purpose and burdening their users. We design and implement a novel race detection technique that is both fast and precise, even in the face of missing program source information. Towards this goal, we have developed two separate tools, TREE and RDIT, that respectively improve performance and precision over existing techniques. TREE, implemented in the RoadRunner framework, acts as a filter and sends through only those events that might add value to race detection while eliminating those events which are deemed redundant for this purpose. All the while, removing these redundant events does not affect its race detection capability. We have evaluated TREE against a whole set of standard benchmarks, including two large real-world applications. We have found that there exists a significant number of redundant events in all these applications and on an average, TREE saves somewhere between 15-25% of analysis time as compared to the state-of-the-art techniques. Meanwhile, our next tool, RDIT, is able to precisely detect races in programs with incomplete source information, generating no false positives. RDIT is also maximal in the sense that it detects a maximal set of true races from the observed incomplete trace. It is underpinned by a sound BarrierPair model that abstracts away the missing events by capturing the invocation data of their enclosing methods. By making the least conservative assumption that a missing method introduces synchronization only when its invocation data overlaps with other missing methods, and by formulating maximal thread causality as a set of logical constraints, RDIT guarantees to precisely detect races with maximal capability. We tested RDIT against seven real-world large concurrent systems and have detected dozens of true races with zero false alarm. Comparatively, existing algorithms such as Happens-Before, Causal-Precede, and Maximal-Causality, which are all known to be precise, were observed reporting hundreds of false alarms due to trace incompleteness

    Static Conflict Analysis for Multi-Threaded Object-Oriented Programs

    No full text
    A compiler for multi-threaded object-oriented programs needs information about the sharing of objects for a variety of reasons: to implement optimizations, to issue warnings, to add instrumentation to detect access violations that occur at runtime. An Object Use Graph (OUG) statically captures accesses from different threads to objects. An OUG extends the Heap Shape Graph (HSG), which is a compile-time abstraction for runtime objects (nodes) and their reference relations (edges). An OUG specifies for a specific node in the HSG a partial order of events relevant to the corresponding runtime object(s). Relevant events include read and write access, object escape, thread start and join. OUGs have been implemented..
    corecore