Context: Nowadays, fault-proneness prediction is an important field of software engineering. It can be used by developers and testers to prioritize tests. This would allow a better allocation of resources, reducing te...
详细信息
Context: Nowadays, fault-proneness prediction is an important field of software engineering. It can be used by developers and testers to prioritize tests. This would allow a better allocation of resources, reducing testing time and costs, and improving the effectiveness of software testing. Non-supervised fault-proneness prediction models, especially thresholds-based models, can easily be automated and give valuable insights to developers and testers on the classification performed. objective: In this paper, we investigated three thresholds calculation techniques that can be used for fault proneness prediction: ROC Curves, VARL (Value of an Acceptable Risk Level) and Alves rankings. We compared the performance of these techniques with the performance of four machine learning and two clustering based models. Method: Threshold values were calculated on a total of twelve different public datasets: eleven from the PROMISE Repository and another based on the Eclipse project. Thresholds-based models were then constructed using each thresholds calculation technique investigated. For comparison, results were also computed for supervised machine learning and clustering based models. Inter-dataset experimentation between different systems and versions of a same system was performed. Results: Results show that ROC Curves is the best performing method among the three thresholds calculation methods investigated, closely followed by Alves Rankings. VARL method didn't give valuable results for most of the datasets investigated and was easily outperformed by the two other methods. Results also show that thresholds-based models using ROC Curves outperformed machine learning and clustering based models. Conclusion: The best of the three thresholds calculation techniques for fault-proneness prediction is ROC Curves, but Alves Rankings is a good choice too. In fact, the advantage of Alves Rankings over ROC Curves technique is that it is completely unsupervised and can therefore give pe
An object-oriented data model for the elaboration of scanning probe microscopy information is proposed. This data model provides a comfortable interoperability between different types of data, presented as visual obje...
详细信息
An object-oriented data model for the elaboration of scanning probe microscopy information is proposed. This data model provides a comfortable interoperability between different types of data, presented as visual objects. On the other hand, this model correlates with modern compound document programming technology, and can be implemented within a client-server application, exploiting the benefits of distributed data systems. Such a data model is suitable for scanning probe microscopy image processing, and could be useful for some other research fields, allowing the integration of a huge amount of composite data.
Late binding and subtyping create run-time overhead for object-oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants, ...
详细信息
Late binding and subtyping create run-time overhead for object-oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants, of reference and position, that make the implementation as efficient as possible. Coloring is a technique that preserves these invariants for dynamic typing or multiple inheritance at minimal spatial cost. Coloring has been independently proposed for method invocation under the name of selector coloring, for subtype tests under the name of pack encoding, and for attribute access and object layout. This paper reviews a number of uses of coloring for optimizing object-oriented programming, generalizes them, and specifies several variations, such as bidirectional and n-directional coloring. Coloring is NP-hard, hence compilers that use it depend on heuristics. The paper describes two families of heuristics and presents some experimental results which indicate that coloring is both efficient and tractable and that bidirectional coloring gives the best results. Copyright (C) 2010 John Wiley & Sons, Ltd.
Of all merits of the object-oriented paradigm, flexibility is probably the most important in a world of constantly changing requirements and the most striking difference compared to previous approaches. However, it is...
详细信息
Of all merits of the object-oriented paradigm, flexibility is probably the most important in a world of constantly changing requirements and the most striking difference compared to previous approaches. However, it is rather difficult to quantify this aspect of quality: This paper describes a probabilistic approach to estimate the change proneness of an object-oriented design by evaluating the probability that each class of the system will be affected when new functionality is added or when existing functionality is modified. It is obvious that when a system exhibits a large sensitivity to changes, the corresponding design quality is questionable. The extracted probabilities of change can be used to assist maintenance and to observe the evolution of stability through successive generations and identify a possible "saturation" level beyond which any attempt to improve the design without major refactoring is impossible. The proposed model has been evaluated on two multiversion open source projects. The process has been fully automated by a Java program, while statistical analysis has proved improved correlation between the extracted probabilities and actual changes in each of the classes in comparison to a prediction model that relies simply on past data.
Subsequent releases of a system have common development environments and characteristics. However, prediction models based on within-project data potentially suffer from being based on fault data reported within relat...
详细信息
Subsequent releases of a system have common development environments and characteristics. However, prediction models based on within-project data potentially suffer from being based on fault data reported within relatively short maintenance time intervals, which potentially decreases their prediction abilities. In this study, the authors propose an approach that improves the classification performance of models based on within-project data that are applied to predict the fault-proneness of the classes in a software post-release (PR). The proposed approach involves selecting a set of immediate pre-releases and constructing a prediction model based on each pre-release. The PR classes are categorised based on whether they are newly developed or they are reused, with or without modification, from one or more of the selected pre-releases. The prediction models are applied to the PR classes reused from selected pre-releases, and the results are used to construct a fault-proneness prediction model. After applying this prediction model to all PR classes, the fault-proneness results are adjusted by considering the relationship between the prediction results of the individual pre-release models and the actual fault data. They reported an empirical study that shows that the classification performance of the categorisation-based fault-proneness prediction models is considerably better than those constructed using existing approaches.
The object management architecture (OMA) has been recognized as a de facto standard in the development of object services in a distributed computing environment. In a distributed system, the provision for failure-reco...
详细信息
The object management architecture (OMA) has been recognized as a de facto standard in the development of object services in a distributed computing environment. In a distributed system, the provision for failure-recovery is always a vital design issue. However, the fault-tolerant service has not been extensively considered in the current OMA framework, despite the fact that an increasing number of useful common services and common facilities have been adopted in OMA. In this paper, we propose a fault-tolerance developing environment, called Phoinix, which is compatible to the OMA framework. In Phoinix, object services can be developed with embedded fault-tolerance capability to tolerate both hardware and software failures. The fault-tolerance capability in Phoinix is classified into two levels: restart, and rollback-recovery;when the fault-tolerance capability enhances as the level increases. Currently, Phoinix is ported on Orbix 2.0 and on SunOS 4.2. In this paper, the design and implementation of Phoinix is presented and its performance is evaluated. (C) 1998 Elsevier Science B.V.
We present here SaX (Self-energies and eXcitations), a plane-waves package aimed at electronic-structure and optical-properties calculations in the GW framework, namely using the GW approximation for quasiparticle pro...
详细信息
We present here SaX (Self-energies and eXcitations), a plane-waves package aimed at electronic-structure and optical-properties calculations in the GW framework, namely using the GW approximation for quasiparticle properties and the Bethe-Salpeter equation for the excitonic effects. The code is mostly written in FORTRAN90 in a modern style, with extensive use of data abstraction (i.e. objects). Sax employs state of the art techniques and can treat large systems. The package is released with an open source license and can be also download from http://***/.
Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on...
详细信息
Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on Java that allows reasoning about object-oriented programs and specifications. A set of programming laws is available for the imperative constructs of this language as well as for its object-oriented features;soundness of the laws is proved against a weakest precondition semantics, The proof that the refactoring rules preserve behaviour (semantics) is accomplished by the application of these programming laws and data simulation. As illustration of our approach to refactoring, we use our rules to restructure a program to be in accordance with a design pattern. (C) 2009 Elsevier B.V. All rights reserved.
Accurate prediction of contaminant migration in surface and ground water bodies, including interaction with aquifer and hyporheic zone materials requires reactive transport modeling. The increasing complexity and the ...
详细信息
Accurate prediction of contaminant migration in surface and ground water bodies, including interaction with aquifer and hyporheic zone materials requires reactive transport modeling. The increasing complexity and the procedure-oriented type of programming often used in reactive transport hinder codes reuse and transportability. We present a Fortran 90 module using object-oriented concepts that simulates complex hydrobiogeochemical processes (CHEPROO, CHEmical PRocesses object-oriented). CHEPROO consists of a general structure with two classes. The Nodal Chemistry class accounts for the description of local chemistry and geochemical state variables. As such, it provides many functions related to basic operations (evaporation, mixing, etc.) and can easily grow on this direction (extreme dry conditions, biochemical state variables, etc.). The Chemical System class includes kinetic and thermodynamic models that describe reactions between and within phases. As such, it can grow in the direction of increasingly complex chemical systems (solid solutions, microorganisms as individual phases, etc.), without loss in the handling of simple problems. These two classes are overlaid by CHEPROO, a general structure designed for interaction with other codes. CHEPROO can be used as a geochemical tool for the modeling of complex processes such as biodegradation or evaporation at high salinities. However, many functions CHEPROO are devoted to coupling a broad range of chemical processes to other phenomena (flow, transport, mechanical). We have shown that reactive transport (based on either DSA or SIA approaches) could be easily implemented into existing conservative transport code with a minimal number of changes. (C) 2008 Elsevier Ltd. All rights reserved.
This paper is a survey of the current viewpoint-oriented requirements approaches and a description of an alternative object-oriented viewpoint-based approach. The paper sets out a case for a multiple viewpoint-oriente...
详细信息
This paper is a survey of the current viewpoint-oriented requirements approaches and a description of an alternative object-oriented viewpoint-based approach. The paper sets out a case for a multiple viewpoint-oriented approach in requirements definition and, using a simple case study, examines the viewpoint approach adopted by three requirements methodologies. The paper concludes by proposing an alternative object-oriented viewpoint-based approach.
暂无评论