999 resultados para program debugging


Relevância:

30.00% 30.00%

Publicador:

Resumo:

The technique of Abstract Interpretation has allowed the development of very sophisticated global program analyses which are at the same time provably correct and practical. We present in a tutorial fashion a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system librarles), to genérate and simplify run-time tests, and to perform high-level program transformations such as múltiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost). CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements the described functionality, will be used to illustrate the fundamental ideas.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

The technique of Abstract Interpretation [13] has allowed the development of sophisticated program analyses which are provably correct and practical. The semantic approximations produced by such analyses have been traditionally applied to optimization during program compilation. However, recently, novel and promising applications of semantic approximations have been proposed in the more general context of program verification and debugging [3],[10],[7].

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Visualization of program executions has been found useful in applications which include education and debugging. However, traditional visualization techniques often fall short of expectations or are altogether inadequate for new programming paradigms, such as Constraint Logic Programming (CLP), whose declarative and operational semantics differ in some crucial ways from those of other paradigms. In particular, traditional ideas regarding flow control and the behavior of data often cannot be lifted in a straightforward way to (C)LP from other families of programming languages. In this paper we discuss techniques for visualizing program execution and data evolution in CLP. We briefly review some previously proposed visualization paradigms, and also propose a number of (to our knowledge) novel ones. The graphical representations have been chosen based on the perceived needs of a programmer trying to analyze the behavior and characteristics of an execution. In particular, we concéntrate on the representation of the program execution behavior (control), the runtime valúes of the variables, and the runtime constraints. Given our interest in visualizing large executions, we also pay attention to abstraction techniques, Le., techniques which are intended to help in reducing the complexity of the visual information.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Although several profiling techniques for identifying performance bottlenecks in logic programs have been developed, they are generally not automatic and in most cases they do not provide enough information for identifying the root causes of such bottlenecks. This complicates using their results for guiding performance improvement. We present a profiling method and tool that provides such explanations. Our profiler associates cost centers to certain program elements and can measure different types of resource-related properties that affect performance, preserving the precedence of cost centers in the call graph. It includes an automatic method for detecting procedures that are performance bottlenecks. The profiling tool has been integrated in a previously developed run-time checking framework to allow verification of certain properties when they cannot be verified statically. The approach allows checking global computational properties which require complex instrumentation tracking information about previous execution states, such as, e.g., that the execution time accumulated by a given procedure is not greater than a given bound. We have built a prototype implementation, integrated it in the Ciao/CiaoPP system and successfully applied it to performance improvement, automatic optimization (e.g., resource-aware specialization of programs), run-time checking, and debugging of global computational properties (e.g., resource usage) in Prolog programs.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

We present in a tutorial fashion CiaoPP, the preprocessor of the Ciao multi-paradigm programming system, which implements a novel program development framework which uses abstract interpretation as a fundamental tool. The framework uses modular, incremental abstract interpretation to obtain information about the program. This information is used to validate programs, to detect bugs with respect to partial specifications written using assertions (in the program itself and/or in system libraries), to generate and simplify run-time tests, and to perform high-level program transformations such as multiple abstract specialization, parallelization, and resource usage control, all in a provably correct way. In the case of validation and debugging, the assertions can refer to a variety of program points such as procedure entry, procedure exit, points within procedures, or global computations. The system can reason with much richer information than, for example, traditional types. This includes data structure shape (including pointer sharing), bounds on data structure sizes, and other operational variable instantiation properties, as well as procedure-level properties such as determinacy, termination, non-failure, and bounds on resource consumption (time or space cost).

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domainspecific languages. A simple yet powerful technique is based on source-tosource transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. When considering the whole workflow of program development (warning and error reporting, debugging, or even program analysis), program translations are no more powerful than a glorified macro language. In this paper, we propose an augmented approach to language extensions for Prolog, where symbolic annotations are included in the target program. These annotations allow selectively reversing the translated code. We illustrate the approach by showing that coupling it with minimal extensions to a generic Prolog debugger allows us to provide users with a familiar, source-level view during the debugging of programs which use a variety of language extensions, such as functional notation, DCGs, or CLP{Q,R}.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Includes bibliographical references (p. 10-11).

Relevância:

30.00% 30.00%

Publicador:

Resumo:

With the increasing complexity of today's software, the software development process is becoming highly time and resource consuming. The increasing number of software configurations, input parameters, usage scenarios, supporting platforms, external dependencies, and versions plays an important role in expanding the costs of maintaining and repairing unforeseeable software faults. To repair software faults, developers spend considerable time in identifying the scenarios leading to those faults and root-causing the problems. While software debugging remains largely manual, it is not the case with software testing and verification. The goal of this research is to improve the software development process in general, and software debugging process in particular, by devising techniques and methods for automated software debugging, which leverage the advances in automatic test case generation and replay. In this research, novel algorithms are devised to discover faulty execution paths in programs by utilizing already existing software test cases, which can be either automatically or manually generated. The execution traces, or alternatively, the sequence covers of the failing test cases are extracted. Afterwards, commonalities between these test case sequence covers are extracted, processed, analyzed, and then presented to the developers in the form of subsequences that may be causing the fault. The hypothesis is that code sequences that are shared between a number of faulty test cases for the same reason resemble the faulty execution path, and hence, the search space for the faulty execution path can be narrowed down by using a large number of test cases. To achieve this goal, an efficient algorithm is implemented for finding common subsequences among a set of code sequence covers. Optimization techniques are devised to generate shorter and more logical sequence covers, and to select subsequences with high likelihood of containing the root cause among the set of all possible common subsequences. A hybrid static/dynamic analysis approach is designed to trace back the common subsequences from the end to the root cause. A debugging tool is created to enable developers to use the approach, and integrate it with an existing Integrated Development Environment. The tool is also integrated with the environment's program editors so that developers can benefit from both the tool suggestions, and their source code counterparts. Finally, a comparison between the developed approach and the state-of-the-art techniques shows that developers need only to inspect a small number of lines in order to find the root cause of the fault. Furthermore, experimental evaluation shows that the algorithm optimizations lead to better results in terms of both the algorithm running time and the output subsequence length.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

To investigate the effects of a specific protocol of undulatory physical resistance training on maximal strength gains in elderly type 2 diabetics. The study included 48 subjects, aged between 60 and 85 years, of both genders. They were divided into two groups: Untrained Diabetic Elderly (n=19) with those who were not subjected to physical training and Trained Diabetic Elderly (n=29), with those who were subjected to undulatory physical resistance training. The participants were evaluated with several types of resistance training's equipment before and after training protocol, by test of one maximal repetition. The subjects were trained on undulatory resistance three times per week for a period of 16 weeks. The overload used in undulatory resistance training was equivalent to 50% of one maximal repetition and 70% of one maximal repetition, alternating weekly. Statistical analysis revealed significant differences (p<0.05) between pre-test and post-test over a period of 16 weeks. The average gains in strength were 43.20% (knee extension), 65.00% (knee flexion), 27.80% (supine sitting machine), 31.00% (rowing sitting), 43.90% (biceps pulley), and 21.10% (triceps pulley). Undulatory resistance training used with weekly different overloads was effective to provide significant gains in maximum strength in elderly type 2 diabetic individuals.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

We present a computer program developed for estimating penetrance rates in autosomal dominant diseases by means of family kinship and phenotype information contained within the pedigrees. The program also determines the exact 95% credibility interval for the penetrance estimate. Both executable (PenCalc for Windows) and web versions (PenCalcWeb) of the software are available. The web version enables further calculations, such as heterozygosity probabilities and assessment of offspring risks for all individuals in the pedigrees. Both programs can be accessed and down-loaded freely at the home-page address http://www.ib.usp.br/~otto/software.htm.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

During a four month scholarly leave in United States of America, researchers designed a culturally appropriate prevention program for eating disorders (ED) for Brazilian adolescent girls. The program "Se Liga na Nutrição" was modeled on other effective programs identified in a research literature review and was carried out over eleven interactive sessions. It was positively received by the adolescents who suggested that it be part of school curricula. The girls reported that it helped them to develop critical thinking skills with regards to sociocultural norms about body image, food and eating practices

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The objective of this study was to compare the impact on knowledge and counseling skills of face-to-face and Internet-based oral health training programs on medical students. Participants consisted of 148 (82 percent) of the 180 invited students attending their fifth academic year at the Faculty of Medicine, University of Sao Paulo, Brasil, in 2007. The interventions took place during a three-month training period in the clinical Center for Health Promotion, which comprised part of a clerkship in Internal Medicine. The students were divided into four groups: 1) Control Group (Control), with basic intervention; 2) Brochure Group (Br), with basic intervention plus complete brochure with oral health themes; 3) Cybertutor Group (Cy), with basic intervention plus access to an Internet-based training program about oral health themes; and 4) Cybertutor + Contact Group (Cy+C), the same as Cy plus brief proactive contact with a tutor. The impact of these interventions on student knowledge was measured with pre- and post assessments, and student skills in asking and counseling about oral health were assessed with an objective structured clinical examination (OSCE). Multivariate logistic regression models were applied to identify the odds ratios of scoring above Control's medians on the final assessment and the OSCE. In the results, Cy+C performed significantly better than Control on both the final assessment (OR 9.4; 95% CI 2.7-32.8) and the OSCE (OR 5.6; 95% CI 1.9-16.3) and outperformed all the other groups. The Cy+C group showed the most significant increase in knowledge and the best skills in asking and counseling about oral health.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

There is little empirical data about the impact of digital inclusion on cognition among older adults. This paper aimed at investigating the effects of a digital inclusion program in the cognitive performance of older individuals who participated in a computer learning workshop named ""Idosos On-Line`` (Elderly Online). Forty-two aged individuals participated in the research study: 22 completed the computer training workshop and 20 constituted the control group. All subjects answered a sociodemographic questionnaire and completed the Addenbrooke`s cognitive examination, revised (ACE-R), which examines five cognitive domains: orientation and attention, memory, verbal fluency, language, and visuo-spatial skills. It was noted that the experimental group`s cognitive performance significantly improved after the program, particularly in the language and memory domains, when compared to the control group. These findings suggest that the acquisition of new knowledge and the use of a new tool, that makes it possible to access the Internet, may bring gains to cognition. (C) 2010 Elsevier Ireland Ltd. All rights reserved.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Santhiago, V, da Silva, ASR, Papoti, M, and Gobatto, CA. Effects of 14-week swimming training program on the psychological, hormonal, and physiological parameters of elite women athletes. J Strength Cond Res 25(3): 825-832, 2011-The purpose of the study was to investigate the influence of a 14-week swimming training program on psychological, hormonal, and performance parameters of elite women swimmers. Ten Olympic and international-level elite women swimmers were evaluated 4 times along the experiment (i.e., in T1, T2, T3, and T4). On the first day at 8: 00 AM, before the blood collecting at rest for the determination of hormonal parameters, the athletes had their psychological parameters assessed by the profile of mood-state questionnaire. At 3: 00 AM, the swimmers had their anaerobic threshold assessed. On the second day at 3: 00 AM, the athletes had their alactic anaerobic performance measured. Vigor score and testosterone levels were lower (p <= 0.05) in T4 compared with T3. In addition, the rate between the peak blood lactate concentration and the median velocity obtained in the alactic anaerobic performance test increased in T4 compared with T3 (p < 0.05). For practical applications, the swimming coaches should not use a tapering with the present characteristics to avoid unexpected results.