A formal, general model of program dependences is presented and used to evaluate several dependence-based software testing, debugging, and maintenance techniques. Two generalizations of control and data flow dependence, called weak and strong syntactic dependence, are introduced and related to a concept called semantic dependence. Semantic dependence models the ability of a program statement to affect the execution behavior of other statements. It is shown, among other things, that weak syntactic dependence is a necessary but not sufficient condition for semantic dependence and that strong syntactic dependence is a necessary but not sufficient condition for a restricted form of semantic dependence that is finitely demonstrated. These results are then used to support some proposed uses of program dependences, to controvert others, and to suggest new uses.
A number of path selection criteria have been proposed throughout the years. Unfortunately, little work has been done on comparing these criteria. To determine what would be an effective path selection criterion for revealing errors in programs, we have undertaken an evaluation of these criteria. This paper reports on the results of our evaluation of path selection criteria based on data flow relationships. We show how these criteria relate to each other, thereby demonstrating some of their strengths and weaknesses. In addition, we suggest minor changes to some criteria that improve their performance. We conclude with a discussion of the major limitations of these criteria and directions for future research.
This article describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates a compact, event-based model of the system that supports efficient dataflow analysis. FLAVERS achieves this efficiency at the cost of precision. Analysts, however, can improve the precision of analysis results by selectively and judiciously incorporating additional semantic information into an analysis.We report on an empirical study of the performance of the FLAVERS/Ada toolset applied to a collection of multitasking Ada systems. This study indicates that sufficient precision for proving system properties can usually be achieved and that the cost for such analysis typically grows as a low-order polynomial in the size of the system.
Abstract. Information about which statements in a concurrent program may happen in parallel (MHP) has a number of important applications. It can be used in program optimization, debugging, program understanding tools, improving the accuracy of data flow approaches, and detecting synchronization anomalies, such as data races. In this paper we propose a data flow algorithm for computing a conservative estimate of the MHP information for Java programs that has a worstcase time bound that is cubic in the size of the program. We present a preliminary experimental comparison between our algorithm and a reachability analysis algorithm that determines the "ideal" static MHP information for concurrent Java programs. This initial experiment indicates that our data flow algorithm precisely computed the ideal MHP information in the vast majority of cases we examined. In the two out of 29 cases where the MHP algorithm turned out to be less than ideally precise, the number of spurious pairs was small compared to the total number of ideal MHP pairs.
This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project. The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use. A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information. IntroductionThe Software Engineering Impact Project is documenting the impact that software engineering research has had on computer science research and on software development practice. The authors of this paper are responsible for documenting the impact of research in software testing and analysis for the Impact Project. One aspect of testing and analysis that has clearly had an impact is the widespread use of assertions, particularly for use in automated runtime detection of faults. This report documents the results of our initial assessment of assertions and narrates the history of software engineering research as it relates to the evolution and maturation of runtime assertion checking capabilities in programming languages and software development support tools.Despite decades of research into powerful software engineering technologies, and despite the continual discovery of tenets of good software engineering practice, software development remains an exceedingly complex endeavor. No matter how thoroughly a software system's requirements are documented, and no matter how carefully and elegantly the system's design has been constructed, inevitably latent faults, or incorrect program statements, are introduced in the system's implementation. These faults may be revealed during various levels of testing, or they may make a more inopportune appearance during field use by endusers. In such situations the faults are typically manifested externally as program failures, such as unexpected outputs, or other undesirable outcomes such as a program crash. Such failures provide developers with precious little information for initiating the task of correlating the simple external evidence of failure with the complexity of searching numerous possible locations for the faults that caused them.Assertions are one of the most useful automated techniques available for detecting faults and providing information about their locations, even for faults that are traversed during execution but do not lead to failures.As described in this report, assertions have a long and distinguished history in the annals of software engineering and programming language design. Initially developed as a means of stating expected or desired program properties as a necessary step in constructing formal, deductive proofs of program correctness, assertions have found many other applications in software engineering over the years, albeit primarily in the later stages of development (particularly in the developmen...
There is an urgent need for robust and high-throughput methods for SARS-CoV-2 detection in suspected patient samples to facilitate disease management, surveillance, and control. Although nucleic acid detection methods such as reverse transcription polymerase chain reaction (RT-PCR) are the gold standard, during the current pandemic, the deployment of RT-PCR tests has been extremely slow, and key reagents such as PCR primers and RNA extraction kits are at critical shortages. Rapid point-of-care viral antigen detection methods have been previously employed for the diagnosis of respiratory viruses such as influenza and respiratory syncytial viruses. Therefore, the direct detection of SARS-CoV-2 viral antigens in patient samples could also be used for diagnosis of active infection, and alternative methodologies for specific and sensitive viral protein detection should be explored. Targeted mass spectrometry techniques have enabled the identification and quantitation of a defined subset of proteins/peptides at single amino acid resolution with attomole level sensitivity and high reproducibility. Herein, we report a targeted mass spectrometry assay for the detection of SARS-CoV-2 spike protein and nucleoprotein in a relevant biological matrix. Recombinant full-length spike protein and nucleoprotein were digested and proteotypic peptides were selected for parallel reaction monitoring (PRM) quantitation using a high-resolution Orbitrap instrument. A spectral library, which contained seven proteotypic peptides (four from spike protein and three from nucleoprotein) and the top three to four transitions, was generated and evaluated. From the original spectral library, we selected two best performing peptides for the final PRM assay. The assay was evaluated using mock test samples containing inactivated SARS-CoV-2 virions, added to in vitro derived mucus. The PRM assay provided a limit of detection of ∼200 attomoles and a limit of quantitation of ∼ 390 attomoles. Extrapolating from the test samples, the projected titer of virus particles necessary for the detection of SARS-CoV-2 spike and nucleoprotein detection was approximately 2 × 10 5 viral particles/mL, making it an attractive alternative to RT-PCR assays. Potentially, mass spectrometry-based methods for viral antigen detection may deliver higher throughput and could serve as a complementary diagnostic tool to RT-PCR. Furthermore, this assay could be used to evaluate the presence of SARS-CoV-2 in archived or recently collected biological fluids, in vitro-derived research materials, and wastewater samples.
Although event-based software integration is one of the most prevalent approaches to loose integration, no consistent model for describing it exists. As a result, there is no uniform way to discuss event-based integration, compare approaches and implementations, specify new eventbased approaches, or match user requirements with the capabilities of event-based integration systems. We attempt to address these shortcomings by specifying a generic framework for event-based integration, the EBI framework, that provides a flexible, object-oriented model for discussing and comparing event-based integration approaches. The EBI framework can model dynamic and static specification, composition, and decomposition and can be instantiated to describe the features of most common event-based integration approaches. We demonstrate how to use the framework as a reference model by comparing and contrasting three wellknown integration systems: FIELD, Polylith, and CORBA.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
334 Leonard St
Brooklyn, NY 11211
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.