25 resultados para Thermo dynamic analysis
em BORIS: Bern Open Repository and Information System - Berna - Suiça
Resumo:
When changing the API of a framework, we need to migrate its clients. This is best done automatically. In this paper, we focus on API migration where the mechanism for inversion of control changes. We propose to use dynamic analysis for such API migration since structural refactorings alone are often not sufficient. We consider JExample as a case-study. JExample extends JUnit with first-class dependencies and fixture injection. We investigate how dynamically collected information about test coverage and about instances under test can be used to detect dependency injection candidates.
Resumo:
A large body of research analyzes the runtime execution of a system to extract abstract behavioral views. Those approaches primarily analyze control flow by tracing method execution events or they analyze object graphs of heap snapshots. However, they do not capture how objects are passed through the system at runtime. We refer to the exchange of objects as the object flow, and we claim that object flow is necessary to analyze if we are to understand the runtime of an object-oriented application. We propose and detail Object Flow Analysis, a novel dynamic analysis technique that takes this new information into account. To evaluate its usefulness, we present a visual approach that allows a developer to study classes and components in terms of how they exchange objects at runtime. We illustrate our approach on three case studies.
Resumo:
Most of today's dynamic analysis approaches are based on method traces. However, in the case of object-orientation understanding program execution by analyzing method traces is complicated because the behavior of a program depends on the sharing and the transfer of object references (aliasing). We argue that trace-based dynamic analysis is at a too low level of abstraction for object-oriented systems. We propose a new approach that captures the life cycle of objects by explicitly taking into account object aliasing and how aliases propagate during the execution of the program. In this paper, we present in detail our new meta-model and discuss future tracks opened by it.
Resumo:
Writing unit tests for legacy systems is a key maintenance task. When writing tests for object-oriented programs, objects need to be set up and the expected effects of executing the unit under test need to be verified. If developers lack internal knowledge of a system, the task of writing tests is non-trivial. To address this problem, we propose an approach that exposes side effects detected in example runs of the system and uses these side effects to guide the developer when writing tests. We introduce a visualization called Test Blueprint, through which we identify what the required fixture is and what assertions are needed to verify the correct behavior of a unit under test. The dynamic analysis technique that underlies our approach is based on both tracing method executions and on tracking the flow of objects at runtime. To demonstrate the usefulness of our approach we present results from two case studies.
Resumo:
Tooth surface modification is a potential method of preventing dental erosion, a form of excessive tooth wear facilitated by softening of tooth surfaces through the direct action of acids, mainly of dietary origin. We have previously shown that dodecyl phosphates (DPs) effectively inhibit dissolution of native surfaces of hydroxyapatite (the type mineral for dental enamel) and show good substantivity. However, adsorbed saliva also inhibits dissolution and DPs did not augment this effect, which suggests that DPs and saliva interact at the hydroxyapatite surface. In the present study the adsorption and desorption of potassium and sodium dodecyl phosphates or sodium dodecyl sulphate (SDS) to hydroxyapatite and human tooth enamel powder, both native and pre-treated with saliva, were studied by high performance liquid chromatography-mass Spectrometry. Thermo gravimetric analysis was used to analyse residual saliva and surfactant on the substrates. Both DPs showed a higher affinity than SDS for both hydroxyapatite and enamel, and little DP was desorbed by washing with water. SDS was readily desorbed from hydroxyapatite, suggesting that the phosphate head group is essential for strong binding to this substrate. However, SDS was not desorbed from enamel, so that this substrate has surface properties different from those of hydroxyapatite. The presence of a salivary coating had little or no effect on adsorption of the DPs, but treatment with DPs partly desorbed saliva; this could account for the failure of DPs to increase the dissolution inhibition due to adsorbed saliva.