173 research outputs found
Adenylyl Cyclase type 3, a marker of primary cilia, is reduced in primary cell culture and in lumbar spinal cord in situ in G93A SOD1 mice
<p>Abstract</p> <p>Background</p> <p>The primary cilium is a solitary organelle important in cellular signaling, that projects from the cell surface of most growth-arrested or post-mitotic cells including neurons in the central nervous system. We hypothesized that primary cilial dysfunction might play a role in the pathogenesis of Amyotrophic Lateral Sclerosis (ALS), and as a first step, report on the prevalence of primary cilial markers on cultured motor neurons from the lumbar spinal cord of embryonic wildtype (WT) and transgenic G93A SOD1 mice, and on motor neurons in situ in the lumbar spinal cord.</p> <p>Results</p> <p>At 7 days in culture there is no difference in the proportion of G93A SOD1 and WT motor neurons staining for the cilial marker ACIII. However, at 21 days there is a large relative drop in the proportion of ciliated G93A SOD1 motor neurons. In situ, at 40 days there was a slight relative drop in the proportion of ciliated motor neurons in G93A SOD1 mice. At 98 days of age there was no change in motor neuron ciliation in WT mice, but there was motor neuron loss and a large reduction in the proportion of surviving motor neurons bearing a primary cilium in G93A SOD1 mice.</p> <p>Conclusions</p> <p>In primary culture and in situ in G93A SOD1 mice there is a large reduction in the proportion of motor neurons bearing a primary cilium.</p
Leveraging TLA+ Specifications to Improve the Reliability of the ZooKeeper Coordination Service
ZooKeeper is a coordination service, widely used as a backbone of various
distributed systems. Though its reliability is of critical importance, testing
is insufficient for an industrial-strength system of the size and complexity of
ZooKeeper, and deep bugs can still be found. To this end, we resort to formal
TLA+ specifications to further improve the reliability of ZooKeeper. Our
primary objective is usability and automation, rather than full verification.
We incrementally develop three levels of specifications for ZooKeeper. We first
obtain the protocol specification, which unambiguously specifies the Zab
protocol behind ZooKeeper. We then proceed to a finer grain and obtain the
system specification, which serves as the super-doc for system development. In
order to further leverage the model-level specification to improve the
reliability of the code-level implementation, we develop the test
specification, which guides the explorative testing of the ZooKeeper
implementation. The formal specifications help eliminate the ambiguities in the
protocol design and provide comprehensive system documentation. They also help
find critical deep bugs in system implementation, which are beyond the reach of
state-of-the-art testing techniques. Our specifications have been merged into
the official Apache ZooKeeper project
DPAC: An infrastructure for dynamic program analysis of concurrency Java programs
ABSTRACT Concurrency programs are hard to test or debug due to their nondeterministic nature. Existing dynamic program analysis approaches tried to address this by carefully examine a recorded execution trace. However, developing such analysis tools is complicated, requiring to take care of many tedious implementation details, and comparing and evaluating different analysis approaches are also subject to various biases, due to lack of a common base platform. This motivates us to design DPAC, an infrastructure that support in building dynamic program analysis tools for concurrency Java programs. DPAC takes events and their various processing mechanisms as its underlying model to facilitate monitoring and manipulation of program executions as required by dynamic program analysis. Various analysis tools can be implemented by customizing their required event types and processing mechanisms. We show two concrete case studies how our DPAC helps building existing dynamic program analysis approaches, as well as tuning subtle implementation details for supporting customized function implementation and code transformation
Boosting Operational DNN Testing Efficiency through Conditioning
With the increasing adoption of Deep Neural Network (DNN) models as integral
parts of software systems, efficient operational testing of DNNs is much in
demand to ensure these models' actual performance in field conditions. A
challenge is that the testing often needs to produce precise results with a
very limited budget for labeling data collected in field.
Viewing software testing as a practice of reliability estimation through
statistical sampling, we re-interpret the idea behind conventional structural
coverages as conditioning for variance reduction. With this insight we propose
an efficient DNN testing method based on the conditioning on the representation
learned by the DNN model under testing. The representation is defined by the
probability distribution of the output of neurons in the last hidden layer of
the model. To sample from this high dimensional distribution in which the
operational data are sparsely distributed, we design an algorithm leveraging
cross entropy minimization.
Experiments with various DNN models and datasets were conducted to evaluate
the general efficiency of the approach. The results show that, compared with
simple random sampling, this approach requires only about a half of labeled
inputs to achieve the same level of precision.Comment: Published in the Proceedings of the 27th ACM Joint European Software
Engineering Conference and Symposium on the Foundations of Software
Engineering (ESEC/FSE 2019
Boosting API Recommendation with Implicit Feedback
Developers often need to use appropriate APIs to program efficiently, but it
is usually a difficult task to identify the exact one they need from a vast of
candidates. To ease the burden, a multitude of API recommendation approaches
have been proposed. However, most of the currently available API recommenders
do not support the effective integration of users' feedback into the
recommendation loop. In this paper, we propose a framework, BRAID (Boosting
RecommendAtion with Implicit FeeDback), which leverages learning-to-rank and
active learning techniques to boost recommendation performance. By exploiting
users' feedback information, we train a learning-to-rank model to re-rank the
recommendation results. In addition, we speed up the feedback learning process
with active learning. Existing query-based API recommendation approaches can be
plugged into BRAID. We select three state-of-the-art API recommendation
approaches as baselines to demonstrate the performance enhancement of BRAID
measured by Hit@k (Top-k), MAP, and MRR. Empirical experiments show that, with
acceptable overheads, the recommendation performance improves steadily and
substantially with the increasing percentage of feedback data, comparing with
the baselines.Comment: 15 pages, 4 figure
Automating Object Transformations for Dynamic Software Updating via Online Execution Synthesis
Dynamic software updating (DSU) is a technique to upgrade a running software system on the fly without stopping the system. During updating, the runtime state of the modified components of the system needs to be properly transformed into a new state, so that the modified components can still correctly interact with the rest of the system. However, the transformation is non-trivial to realize due to the gap between the low-level implementations of two versions of a program. This paper presents AOTES, a novel approach to automating object transformations for dynamic updating of Java programs. AOTES bridges the gap by abstracting the old state of an object to a history of method invocations, and re-invoking the new version of all methods in the history to get the desired new state. AOTES requires no instrumentation to record any data and thus has no overhead during normal execution. We propose and implement a novel technique that can synthesize an equivalent history of method invocations based on the current object state only. We evaluated AOTES on software updates taken from Apache Commons Collections, Tomcat, FTP Server and SSHD Server. Experimental results show that AOTES successfully handled 51 of 61 object transformations of 21 updated classes, while two state-of-the-art approaches only handled 11 and 6 of 61, respectively
- âŚ