5,316 research outputs found
A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools
Today's complex software systems combine high-level concurrency models. Each
model is used to solve a specific set of problems. Unfortunately, debuggers
support only the low-level notions of threads and shared memory, forcing
developers to reason about these notions instead of the high-level concurrency
models they chose.
This paper proposes a concurrency-agnostic debugger protocol that decouples
the debugger from the concurrency models employed by the target application. As
a result, the underlying language runtime can define custom breakpoints,
stepping operations, and execution events for each concurrency model it
supports, and a debugger can expose them without having to be specifically
adapted.
We evaluated the generality of the protocol by applying it to SOMns, a
Newspeak implementation, which supports a diversity of concurrency models
including communicating sequential processes, communicating event loops,
threads and locks, fork/join parallelism, and software transactional memory. We
implemented 21 breakpoints and 20 stepping operations for these concurrency
models. For none of these, the debugger needed to be changed. Furthermore, we
visualize all concurrent interactions independently of a specific concurrency
model. To show that tooling for a specific concurrency model is possible, we
visualize actor turns and message sends separately.Comment: International Symposium on Dynamic Language
A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
The actor model is an attractive foundation for developing concurrent
applications because actors are isolated concurrent entities that communicate
through asynchronous messages and do not share state. Thereby, they avoid
concurrency bugs such as data races, but are not immune to concurrency bugs in
general. This study taxonomizes concurrency bugs in actor-based programs
reported in literature. Furthermore, it analyzes the bugs to identify the
patterns causing them as well as their observable behavior. Based on this
taxonomy, we further analyze the literature and find that current approaches to
static analysis and testing focus on communication deadlocks and message
protocol violations. However, they do not provide solutions to identify
livelocks and behavioral deadlocks. The insights obtained in this study can be
used to improve debugging support for actor-based programs with new debugging
techniques to identify the root cause of complex concurrency bugs.Comment: - Submitted for review - Removed section 6 "Research Roadmap for
Debuggers", its content was summarized in the Future Work section - Added
references for section 1, section 3, section 4.3 and section 5.1 - Updated
citation
Holistic debugging - enabling instruction set simulation for software quality assurance
We present holistic debugging, a novel method for observing execution of complex and distributed software. It builds on an instruction set simulator, which provides reproducible experiments and non-intrusive probing of state in a distributed system. Instruction set simulators, however, only provide low-level information, so a holistic debugger contains a translation framework that maps this information to higher abstraction level observation tools, such as source code debuggers. We have created Nornir, a proof-of-concept holistic debugger, built on the simulator Simics. For each observed process in the simulated system, Nornir creates an abstraction translation stack, with virtual machine translators that map machine-level storage contents (e.g. physical memory, registers) provided by Simics, to application-level data (e.g. virtual memory contents) by parsing the data structures of operating systems and virtual machines. Nornir includes a modified version of the GNU debugger (GDB), which supports non-intrusive symbolic debugging of distributed applications. Nornir's main interface is a debugger shepherd, a programmable interface that controls multiple debuggers, and allows users to coherently inspect the entire state of heterogeneous, distributed applications. It provides a robust observation platform for construction of new observation tools
Antimicrobial Susceptibility Patterns in Urinary Tract Infections in Dogs (2010-2013).
BackgroundUrinary tract infections (UTIs) are common in dogs. The responsible bacterial populations have evolved with increasing resistance to many antimicrobials.ObjectiveTo characterize the antimicrobial susceptibility patterns of canine urinary tract isolates over a 51-month period.AnimalsOne thousand six hundred and thirty-six bacterial isolates from 1,028 dogs.MethodsAerobic bacterial isolate growth and susceptibility data from urine cultures of dogs were identified, retrospectively. Medical records were reviewed to obtain signalment, comorbidities, and antimicrobial use in the previous 30 days. The UTIs were further categorized as uncomplicated, complicated, or pyelonephritis.ResultsCommon bacterial isolates identified were Escherichia coli (52.5%), Staphylococcus spp. (13.6%), and Enterococcus spp. (13.3%). In vitro susceptibility among all isolates varied for commonly prescribed antimicrobials (amoxicillin [59%], amoxicillin/clavulanic acid [76%], cephalexin [66%], enrofloxacin [74%] and trimethoprim-sulfamethoxazole [86%]). For all antimicrobials tested (except aminoglycosides), in vitro susceptibility was higher in uncomplicated versus complicated infections (P < .05). Uncomplicated infection isolate susceptibility rates remained ≤90% for PO administered antimicrobials. Administration of amoxicillin, doxycycline, and enrofloxacin, but not amoxicillin/clavulanic acid in the previous 30 days was associated with resistance to that antimicrobial. Multidrug resistant isolates of E. coli and Staphylococcus spp. were more common in dogs with complicated than uncomplicated UTIs (36% versus 21%, P < .0001).Conclusions and clinical importanceIn vitro susceptibility was highly variable and no PO administered antimicrobial had >90% efficacy among isolates tested. Multidrug resistance was frequent among isolates tested suggesting that routine culture and susceptibility testing is indicated. Previously prescribed antimicrobials may affect empirical choices made pending susceptibility testing
Out-Of-Place debugging: a debugging architecture to reduce debugging interference
Context. Recent studies show that developers spend most of their programming
time testing, verifying and debugging software. As applications become more and
more complex, developers demand more advanced debugging support to ease the
software development process.
Inquiry. Since the 70's many debugging solutions were introduced. Amongst
them, online debuggers provide a good insight on the conditions that led to a
bug, allowing inspection and interaction with the variables of the program.
However, most of the online debugging solutions introduce \textit{debugging
interference} to the execution of the program, i.e. pauses, latency, and
evaluation of code containing side-effects.
Approach. This paper investigates a novel debugging technique called
\outofplace debugging. The goal is to minimize the debugging interference
characteristic of online debugging while allowing online remote capabilities.
An \outofplace debugger transfers the program execution and application state
from the debugged application to the debugger application, both running in
different processes.
Knowledge. On the one hand, \outofplace debugging allows developers to debug
applications remotely, overcoming the need of physical access to the machine
where the debugged application is running. On the other hand, debugging happens
locally on the remote machine avoiding latency. That makes it suitable to be
deployed on a distributed system and handle the debugging of several processes
running in parallel.
Grounding. We implemented a concrete out-of-place debugger for the Pharo
Smalltalk programming language. We show that our approach is practical by
performing several benchmarks, comparing our approach with a classic remote
online debugger. We show that our prototype debugger outperforms by a 1000
times a traditional remote debugger in several scenarios. Moreover, we show
that the presence of our debugger does not impact the overall performance of an
application.
Importance. This work combines remote debugging with the debugging experience
of a local online debugger. Out-of-place debugging is the first online
debugging technique that can minimize debugging interference while debugging a
remote application. Yet, it still keeps the benefits of online debugging ( e.g.
step-by-step execution). This makes the technique suitable for modern
applications which are increasingly parallel, distributed and reactive to
streams of data from various sources like sensors, UI, network, etc
Blockade of alpha 2-adrenergic receptors in prelimbic cortex: impact on cocaine self-administration in adult spontaneously hypertensive rats following adolescent atomoxetine treatment
RATIONALE: Research with the spontaneously hypertensive rat (SHR) model of attention deficit/hyperactivity disorder demonstrated that chronic methylphenidate treatment during adolescence increased cocaine self-administration established during adulthood under a progressive ratio (PR) schedule. Compared to vehicle, chronic atomoxetine treatment during adolescence failed to increase cocaine self-administration under a PR schedule in adult SHR.
OBJECTIVES: We determined if enhanced noradrenergic transmission at α2-adrenergic receptors within prefrontal cortex contributes to this neutral effect of adolescent atomoxetine treatment in adult SHR.
METHODS: Following treatment from postnatal days 28–55 with atomoxetine (0.3 mg/kg) or vehicle, adult male SHR and control rats from Wistar-Kyoto (WKY) and Wistar (WIS) strains were trained to self-administer 0.3 mg/kg cocaine. Self-administration performance was evaluated under a PR schedule of cocaine delivery following infusion of the α2-adrenergic receptor antagonist idazoxan (0 and 10–56 μg/side) directly into prelimbic cortex.
RESULTS: Adult SHR attained higher PR break points and had greater numbers of active lever responses and infusions than WKY and WIS. Idazoxan dose-dependently increased PR break points and active lever responses in SHR following adolescent atomoxetine vs. vehicle treatment. Behavioral changes were negligible after idazoxan pretreatment in SHR following adolescent vehicle or in WKY and WIS following adolescent atomoxetine or vehicle.
CONCLUSIONS: α2-Adrenergic receptor blockade in prelimbic cortex of SHR masked the expected neutral effect of adolescent atomoxetine on adult cocaine self-administration behavior. Moreover, greater efficacy of acute idazoxan challenge in adult SHR after adolescent atomoxetine relative to vehicle is consistent with the idea that chronic atomoxetine may downregulate presynaptic α2A-adrenergic autoreceptors in SHR.National Institutes of Health grant DA011716. (DA011716 - National Institutes of Health)https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5693724/Published versio
- …