29 research outputs found
On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Faults in Concurrent Object-Oriented Software
Design by Contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. Using Java as the target programming language, this paper tackles such challenges by augmenting the Java Modelling Language (JML) and modifying the JML compiler to generate Runtime Assertion Checking (RAC) code to support DbC in concurrent programs. We applied our solution in a carefully designed case study on a highly concurrent industrial software system from the telecommunications domain to assess the effectiveness of contracts as test oracles in detecting and diagnosing functional faults in concurrent software. Based on these results, clear and objective requirements are defined for contracts to be effective test oracles for concurrent programs whilst balancing the effort to design them. Main results include that contracts of a realistic level of completeness and complexity can detect around 76% of faults and reduce the diagnosis effort for such faults by at least ten times. We, therefore, show that DbC can not only be applied to concurrent software but can also be a valua
Impact of COVID-19 on cardiovascular testing in the United States versus the rest of the world
Objectives: This study sought to quantify and compare the decline in volumes of cardiovascular procedures between the United States and non-US institutions during the early phase of the coronavirus disease-2019 (COVID-19) pandemic.
Background: The COVID-19 pandemic has disrupted the care of many non-COVID-19 illnesses. Reductions in diagnostic cardiovascular testing around the world have led to concerns over the implications of reduced testing for cardiovascular disease (CVD) morbidity and mortality.
Methods: Data were submitted to the INCAPS-COVID (International Atomic Energy Agency Non-Invasive Cardiology Protocols Study of COVID-19), a multinational registry comprising 909 institutions in 108 countries (including 155 facilities in 40 U.S. states), assessing the impact of the COVID-19 pandemic on volumes of diagnostic cardiovascular procedures. Data were obtained for April 2020 and compared with volumes of baseline procedures from March 2019. We compared laboratory characteristics, practices, and procedure volumes between U.S. and non-U.S. facilities and between U.S. geographic regions and identified factors associated with volume reduction in the United States.
Results: Reductions in the volumes of procedures in the United States were similar to those in non-U.S. facilities (68% vs. 63%, respectively; p = 0.237), although U.S. facilities reported greater reductions in invasive coronary angiography (69% vs. 53%, respectively; p < 0.001). Significantly more U.S. facilities reported increased use of telehealth and patient screening measures than non-U.S. facilities, such as temperature checks, symptom screenings, and COVID-19 testing. Reductions in volumes of procedures differed between U.S. regions, with larger declines observed in the Northeast (76%) and Midwest (74%) than in the South (62%) and West (44%). Prevalence of COVID-19, staff redeployments, outpatient centers, and urban centers were associated with greater reductions in volume in U.S. facilities in a multivariable analysis.
Conclusions: We observed marked reductions in U.S. cardiovascular testing in the early phase of the pandemic and significant variability between U.S. regions. The association between reductions of volumes and COVID-19 prevalence in the United States highlighted the need for proactive efforts to maintain access to cardiovascular testing in areas most affected by outbreaks of COVID-19 infection
Algorithmes pour le problème de la clique de poids maximum
In this work, we present three new exact algorithms for the maximum weight clique problem. The three algorithms depend on an initial ordering of the vertices. Two ordering are considered, as a function of the weights of the vertices or the weights of the neighborhoods of the vertices. This leads to two versions of each algorithm. The first one, called BITCLIQUE, is a combinatorial Branch & Bound algorithm. It effectively combines adaptations of several ideas already successfully employed to solve the problem, such as the use of a weighted integer coloring heuristic for pruning and branching, and the use of bitmap for simplifying the operations on the graph. The proposed algorithm outperforms state-of-the-art Branch & Bound algorithms in most instances of the considered in terms of the number of enumerated subproblems as well in terms of computational time The second one is a Russian Dolls, called BITRDS, which incorporates the pruning and branching strategies based on weighted coloring. Computational tests show that BITRDS reduces both the number of enumerated subproblems and execution time when compared to the previous state-of-art Russian Dolls algorithm for the problem in random graph instances with density above 50%. As graph density increases, this difference increases. Besides, BITRDS is competitive with BITCLIQUE with better performance in random graph instances with density between 50% and 80%. Finally, we present a cooperation between the Russian Dolls method and the Resolution Search method. The proposed algorithm, called BITBR, uses both the weighted coloring and upper bounds given by the dolls to find a nogood. The hybrid algorithm reduces the number of coloring heuristic calls, reaching up to 1 order of magnitude when compared with BITRDS. However, this reduction decreases the execution time only in a few instances. Several computational experiments are carried out with the proposed and state-of-the-art algorithms. Computational results are reported for each algorithm using the main instances available in the literature. Finally, future directions of research are discussed.Dans ce travail, nous présentons trois nouveaux algorithmes pour le problème de la clique de poids maximum. Les trois algorithmes dépendent d'un ordre initial des sommets. Deux ordres sont considérés, l'un en fonction de la pondération des sommets et l'autre en fonction de la taille voisinage des sommets. Le premier algorithme, que nous avons appelé BITCLIQUE, est une algorithme de séparation et évaluation. Il réunit efficacement plusieurs idées déjà utilisées avec succès pour résoudre le problème, comme l'utilisation d'une heuristique de coloration pondérée en nombres entiers pour l'évaluation ; et l'utilisation de vecteurs de bits pour simplifier les opérations sur le graphe. L'algorithme proposé surpasse les algorithmes par séparation et évaluation de l'état de l'art sur la plupart des instances considérées en terme de nombre de sous-problèmes énumérés ainsi que en terme de temps d'exécution. La seconde version est un algorithme des poupées russes, BITRDS, qui intègre une stratégie d'évaluation et de ramification de noeuds basée sur la coloration pondérée. Les simulations montrent que BITRDS réduit à la fois le nombre de sous-problèmes traités et le temps d'exécution par rapport à l'algorithme de l'état de l'art basée sur les poupées russes sur les graphes aléatoires avec une densité supérieure à 50%. Cette différence augmente à la mesure que la densité du graphe augmente. D'ailleurs, BITRDS est compétitif avec BITCLIQUE avec une meilleure performance sur les instances de graphes aléatoires avec une densité comprise entre 50% et 80%. Enfin, nous présentons une coopération entre la méthode poupées russes et la méthode de ``Resolution Search''. L'algorithme proposé, appelé BITBR, utilise au même temps la coloration pondérée et les limites supérieures donnés par les poupées pour trouver un ``nogood''. L'algorithme hybride réduit le nombre d'appels aux heuristiques de coloration pondérée, atteignant jusqu'à 1 ordre de grandeur par rapport à BITRDS. Plusieurs simulations sont réalisées avec la algorithmes proposés et les algorithmes de l'état de l'art. Les résultats des simulations sont rapportés pour chaque algorithme en utilisant les principaux instances disponibles dans la littérature. Enfin, les orientations futures de la recherche sont discutées
On the Effectiveness of Contracts as Test Oracles in the Detection and Diagnosis of Functional Faults in Concurrent Object- Oriented Software
Design by contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. Using Java as the target programming language, we tackle such challenges by augmenting the Java Modelling Language (JML) and modifying the JML compiler (jmlc) to generate runtime assertion checking code to support DbC in concurrent programs. We applied our solution in a carefully designed case study on a highly concurrent industrial software system from the telecommunications domain to assess the effectiveness of contracts as test oracles in detecting and diagnosing functional faults in concurrent software. Based on these results, clear and objective requirements are defined for contracts to be effective test oracles for concurrent programs whilst balancing the effort to design them. Effort is measured indirectly through the contract complexity measure (CCM), a measure we define. Main results include that contracts of a realistic level of completeness and complexity can detect around 76 percent of faults and reduce th
Concurrent contracts for java in JML
Design by Contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance. We present a solution to these challenges in the context of Java programs by extending the Java Modeling Language (JML) specification language. We experiment our solution on a large size industrial software system
On the effectiveness of contracts as test oracles in the detection and diagnosis of race conditions and deadlocks in concurrent object-oriented software
The idea behind Design by Contract (DbC) is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. We have proposed a solution to these challenges in the context of Java as programming language and the Java Modeling language as specification language. This paper presents our findings when applying our DbC technique on an industrial case study to evaluate the ability of contract-based, runtime assertion checking code at detecting and diagnosing race conditions and deadlocks during system testing. The case study is a highly concurrent industrial system from the telecommunications domain, with actual faults. It is the first work to systematically investigate the impact of contract assertions for the detection of race conditions and deadlocks, along with functional properties, in an industrial system
Enabling the runtime assertion checking of concurrent contracts for the Java modeling language
Though there exists ample support for Design by Contract (DbC) for sequential programs, applying DbC to concurrent programs presents several challenges. In previous work, we extended the Java Modeling Language (JML) with constructs to specify concurrent contracts for Java programs. We present a runtime assertion checker (RAC) for the expanded JML capable of verifying assertions for concurrent Java programs. We systematically evaluate the validity of system testing results obtained via runtime assertion checking using actual concurrent and functional faults on a highly concurrent industrial system from the telecommunications domain
Uso da microalbuminúria em amostras urinárias aleatórias para o rastreamento de pré-eclâmpsia em grávidas diabéticas Use of microalbuminuria in random urine samples to screen diabetic pregnant women for preeclampsia
OBJETIVO: avaliar o desempenho da dosagem de microalbuminúria como método para rastreamento de pré-eclampsia MÉTODOS: estudo prospectivo longitudinal no qual foram incluídas 45 grávidas diabéticas. Foi quantificada a microalbuminúria em três períodos distintos da gravidez: antes da 18ª semana, entre a 18ª e a 24ª semana e entre a 32ª e a 36ª semana de gravidez. Todas as pacientes freqüentaram o pré-natal entre janeiro de 2000 e dezembro de 2001. O ensaio de microalbuminúria/creatinina é método quantitativo para medir baixas concentrações de albumina, creatinina e a relação albumina/creatinina na urina. Como critério indicativo de dano renal incipiente e risco para pré-eclâmpsia foi empregada a relação albumina/creatinina maior que 16 mg/g. A sensibilidade, especificidade, valor preditivo positivo e valor preditivo negativo da relação albumina/creatinina foram calculados para predizer a ocorrência ou ausência de pré-eclâmpsia. RESULTADOS: do total de pacientes, 17% apresentaram pré-eclâmpsia. A sensibilidade da relação albumina/creatinina foi crescente de 12,5% com 18 semanas para 25% entre 18 e 24 semanas e 87% após a 32ª semana. Em contraste, a especificidade teve valor decrescente de 97 para 89 e 83%, respectivamente. O valor preditivo positivo foi relativamente baixo, com valores de 50, 33 e 53% nos três diferentes períodos de avaliação. De outro modo, o valor preditivo negativo foi elevado nas três faixas de idade gestacional, com valores de 83, 84 e 96%. CONCLUSÕES: a quantificação aleatória da microalbuminúria pôde predizer corretamente a não ocorrência de pré-eclâmpsia em grávidas diabéticas, sendo pouco eficiente para a identificação correta das pacientes que evoluíram com pré-eclâmpsia.<br>PURPOSE: the aim of the present study was to evaluate the accuracy of microalbuminuria to predict preeclampsia. METHODS: a prospective study of 45 consecutive diabetic gestations that were tested for microalbuminuria before the 18th week, between the 18th and 24th week and between the 32nd and 36th week of gestation. All patients had their prenatal care done from January 2000 to December 2001. The DCA 2000 microalbumin/creatinine assay is a quantitative method for measuring low concentrations of albumin, creatinine and the albumin/creatinine ratio in urine. According to laboratory standards, an albumin/creatinine ratio >16 mg/g (1.8 mg/mmol) indicates incipient renal damage and risk for preeclampsia. The sensitivity, specificity, positive and negative predictive values of the albumin/creatinine ratio were determined to predict the occurrence or the absence of preeclampsia, diagnosed through clinical criteria. RESULTS: of all patients, 17% developed preeclampsia. The sensitivity of albumin/creatinine ratio increased from 12.5% at 18 weeks to 25% between the 18th and 24th week and to 87% after the 32nd week. On the other hand, specificity presented a decreasing value from 97 to 89 and 83%, respectively). The positive predictive value was relatively low in the three different periods of evaluation (50, 33 and 53%, respectively. The negative predictive value was increased in the three stages of gestational age (83, 84 and 96%, respectively). CONCLUSIONS: quantification of microalbuminuria could correctly predict the absence of preeclampsia but was less accurate to predict the occurrence of the disease in diabetic pregnancies