共查询到20条相似文献,搜索用时 15 毫秒
1.
Search-based refactoring for software maintenance 总被引:1,自引:0,他引:1
The high cost of software maintenance could be reduced by automatically improving the design of object-oriented programs without altering their behaviour. We have constructed a software tool capable of refactoring object-oriented programs to conform more closely to a given design quality model, by formulating the task as a search problem in the space of alternative designs. This novel approach is validated by two case studies, where programs are automatically refactored to increase flexibility, reusability and understandability as defined by a contemporary quality model. Both local and simulated annealing searches were found to be effective in this task. 相似文献
2.
Abstract: This paper describes the development of a prototype expert system for the selection of design patterns that are used in object-oriented software. Design patterns provide one method of software reuse, which supports the goal of improved software development productivity. The prototype system represents an initial step towards providing an automated solution regarding the design pattern application problem, i.e. leading a designer to a suitable design pattern which is applicable to the problem at hand. The feasibility of using expert system technology to aid in the selection problem is demonstrated. 相似文献
3.
Mens T. Tourwe T. 《IEEE transactions on pattern analysis and machine intelligence》2004,30(2):126-139
We provide an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for supporting these activities, the types of software artifacts that are being refactored, the important issues that need to be taken into account when building refactoring tool support, and the effect of refactoring on the software process. A running example is used to explain and illustrate the main concepts. 相似文献
4.
《Knowledge》1999,12(4):183-197
Solving software evaluation problems is a particularly difficult software engineering process and many different—often contradictory—criteria must be considered in order to reach a decision. This paper presents ESSE, a prototype expert system for software evaluation that embodies various aspects of the Multiple-Criteria Decision Aid (MCDA) methodology. Its main features are the flexibility in problem modeling and the built-in knowledge about software problem solving and software attribute assessment. Evaluation problems are modeled around top-level software attributes, such as quality and cost. Expert assistants guide the evaluator in feeding values to the decision model. ESSE covers all important dimensions of software evaluation through the integration of different technologies. 相似文献
5.
Abstract: Sorting an internal list is an indispensable requirement in numerous data processing applications, and many algorithms have been devised for accomplishing those tasks. Furthermore, it is fairly simple to derive order of magnitude of effort measures for particular sorting strategies, and within classes of equivalent theoretical power, practice has shown which algorithms prevail in which circumstances. Thus there is a useful background for testing a system's ability to learn which problem solving technique should be applied in a given instance, for the expert knowledge is rather concise and structured and facilitates comparison to machine decisions. The paper describes the construction of such a system and analyzes the results. 相似文献
6.
Ramsey C.L. Basili V.R. 《IEEE transactions on pattern analysis and machine intelligence》1989,15(6):747-759
The development of four separate, prototype expert systems to aid in software engineering management is described. Given the values for certain metrics, these systems provide interpretations which explain any abnormal patterns of these values during the development of a software project. The four expert systems which solve the same problem, were built using two different approaches to knowledge acquisition, a bottom-up approach and a top-down approach and two different expert system methods, rule-based deduction and frame-based abduction. In a comparison to see which methods might better suit the needs of this field, it was found that the bottom-up approach led to better results that did the top-down approach, and the rule-based deduction systems using simple rules provided more complete and correct solutions than did the frame-based abduction systems 相似文献
7.
Peng-Hua Chu Nien-Lin Hsueh Hong-Hsiang Chen Chien-Hung Liu 《Software Quality Journal》2012,20(1):43-75
In the current trend, Extreme Programing methodology is widely adopted by small and medium-sized projects for dealing with
rapidly or indefinite changing requirements. Test-first strategy and code refactoring are the important practices of Extreme
Programing for rapid development and quality support. The test-first strategy emphasizes that test cases are designed before
system implementation to keep the correctness of artifacts during software development; whereas refactoring is the removal
of “bad smell” code for improving quality without changing its semantics. However, the test-first strategy may conflict with
code refactoring in the sense that the original test cases may be broken or inefficient for testing programs, which are revised
by code refactoring. In general, the developers revise the test cases manually since it is not complicated. However, when
the developers perform a pattern-based refactoring to improve the quality, the effort of revising the test cases is much more
than that in simple code refactoring. In our observation, a pattern-based refactoring is composed of many simple and atomic
code refactorings. If we have the composition relationship and the mapping rules between code refactoring and test case refactoring,
we may infer a test case revision guideline in pattern-based refactoring. Based on this idea, in this research, we propose
a four-phase approach to guide the construction of the test case refactoring for design patterns. We also introduce our approach
by using some well-known design patterns and evaluate its feasibility by means of test coverage. 相似文献
8.
Fully integrated manufacturing systems, the ultimate goal of today's production engineering research, cannot be realized without automated process planning systems. A knowledge-based expert system incorporating heuristic algorithms as well as analytical and empirical models and which can thus provide a partial replacement for human expertise is the only key to automated process planning.This paper presents an attempt to develop an expert system for automatic process planning using artificial intelligence. In this system, a structural database was incorporated with a knowledgebase for the execution of rules. The programs developed are user-friendly and highly interactive. They allow dialog between the system and the user and require only that the operator answer questions in a familiar workshop language. 相似文献
9.
J. M. DeArmon
Y. H. Andrew Liou
《Computers & Industrial Engineering》1991,21(1-4):85-87A Respirator Selection Expert System (RSES) is described which assists the user in selection of a respirator for a specific application. In addition to determining the minimum class of respirator which should be used by following the NIOSH Respirator Decision Logic, RSES also provides all necessary calculations, data for common industrial contaminants and on-line reference material. 相似文献
10.
《Expert systems with applications》2000,18(3):165-184
Many researchers working in the field of knowledge engineering (KE) are now concerned with identifying a model suitable for developing knowledge-based software and, especially, expert systems (ES). It is important to find a standard model that meets current needs and incorporates techniques successfully implemented in SE (object- or event-orientation, etc.), which are also of keen interest in KE.In this paper, we present an iterative and incremental solution for developing ES, according to which the system domain is derived naturally from the problem domain, thus surmounting the problems now involved in the transition from the conceptual model of the problem to the formal model of the system.As compared with conventional development models, this solution encompasses five main tools, which are:• Use cases with their respective actor interaction diagrams and activity flow diagrams in order to specify the expert system.• The concept dictionary, which allows knowledge engineers to define, bound and select the meaning of each concept used by experts.• The static conceptual model, which provides an overview (concepts and their relations) of the expert system (ES) modelled.• The control and process model, which models the knowledge and metaknowledge used by the expert to attain a goal.• An object-oriented metamodel, which outputs the formal knowledge model, providing an efficient, reusable, extendible and easy-to-implement ES architecture.To demonstrate the robustness of this solution, we describe how it was applied to an ES that interprets the graphs output by an isokinetics machine for a blind person. An isokinetics machine assesses the strength of the muscles of the leg, arm, etc. 相似文献
11.
针对目前对于Fork/Join框架应用和性能分析的相关工作还不多的现状,以JGF基准测试程序套件为基础,对其中的series、crypt、sparsematmult和sor等程序使用Fork/Join框架进行重构,并以series程序为例,详细地说明了重构的过程.在实验中,首先,测试了每个程序在不同阈值下使用Fork/Join框架分别递归1、2、3次执行程序的时间,进而选择相对较好的阈值;然后,对每个程序使用Fork/Join框架和使用Thread的执行时间进行了对比;此外,测试了重构后的程序在执行过程中任务窃取的情况.实验结果表明,Fork/Join框架执行时间与多线程执行时间相比,平均降低了14.2%;对于series程序,当数据大小为sizeC且线程个数为2时,Fork/Join框架执行时间比多线程执行时间降低高达40%,可见,在多核处理器平台上应用Fork/Join框架比使用多线程将获得更好的性能. 相似文献
12.
An approach is proposed to the solution of formalized problems of assessment of the activity that produces and maintains software
systems (SSs). Such assessment is realized by using expertises that form a new assessment process adequate to the activity
needs and specifics with an environment common to the expertises. The following mathematical apparatus is elaborated for expertises:
a framework (target functions and executing mechanisms), a model and methods (formalisms for improving the quality and reusing
the results of expertises) of an assessment process, and tools for integrating the apparatus into software development management
processes. The approach is theoretically justified. Prospects of developing the proposed approach are described.
Translated from Kibernetika i Sistemnyi Analiz, No. 4, pp. 151–168, July–August 2009. 相似文献
13.
Refactoring a software artifact is an embedded task in the maintenance phase of the software life cycle. To reduce the time and effort required for this task, researchers proposed methods to automate the software refactoring process at the design and code levels. In this paper, we conducted a systematic literature review of papers that suggest, propose, or implement an automated refactoring process. Using different phases, setting several quality measures, and snowballing, only 41 papers passed to the last stage to be analyzed and reviewed. We observe an increase in the number of papers that propose automatic refactoring. The results show that while most of the papers discuss code refactoring, only a few recent papers are focused on model refactoring. Search-based refactoring is gaining more popularity, and several researchers have used it to perform refactoring in a quick and efficient manner. 相似文献
14.
Mohammad Alshayeb 《Information and Software Technology》2009,51(9):1319-1326
Developers and designers always strive for quality software. Quality software tends to be robust, reliable and easy to maintain, and thus reduces the cost of software development and maintenance. Several methods have been applied to improve software quality. Refactoring is one of those methods. The goal of this paper is to validate/invalidate the claims that refactoring improves software quality. We focused this study on different external quality attributes, which are adaptability, maintainability, understandability, reusability, and testability. We found that refactoring does not necessarily improve these quality attributes. 相似文献
15.
《Expert systems with applications》2006,30(2):282-289
The ideal physical structures of purebred dogs are defined in the American Kennel Club (AKC) standards for their breeds. One of these breeds is the Siberian Husky, a medium-sized working dog first bred in Siberia to pull dog-sleds. A rule-based prototype expert system evaluates Siberian Huskies with respect to their standard. The system's knowledge base is derived from the AKC standard for Siberian Huskies, the literature on measuring and evaluating dogs, and interviews with two experts. Given a collection of measurements and observations of a Siberian, the system generates a report that notes any of the dog's features that deviate from the standard. In tests on 22 Siberian Huskies, the system's evaluations closely matched those of the two experts and, in two cases, clarified problems that the experts had been unable to articulate. 相似文献
16.
Robert H. Michaelsen 《Expert Systems》1984,1(2):149-167
Abstract: Recent developments in a subarea of computer science called artificial intelligence have included the creation of expert systems that are capable of solving difficult applications problems which require expert knowledge for their solution. Such expert systems have been found to be useful in a number of applications (e.g. medicine, biochemistry and mineral exploration). In this paper the author presents an expert system for solving problems concerning income and transfer tax planning for individuals In developing this system, a theoretical structure and a set of decision rules were specified and then programmed into a rule-based system that had previously been used for medical diagnosis (Mycin [1]) Once the system was developed, its problem-solving capabilities were refined and verified by a panel of tax experts using a blind verification procedure. This verification step demonstrated that an expert system could be developed in that domain. 相似文献
17.
An expert control system was designed to control an unmanned manufacturing cell in order to meet the operational requirements of a cellular Manufacturing System (CMS). In this paper, a knowledge-based three-layer control concept was used to build the cell control system. This cell control system is built to include workers' experience and problem handling ability. The cell control algorithms and heuristics are based on the pull system control principle. A Petri net is used to generate the cell control algorithm. The structure of the control system and the application of the Petri net method will be demonstrated. 相似文献
18.
K. Srihari Ph.D Assistant Professor R. Muthukrishnan Ph.D 《Computers & Industrial Engineering》1991,21(1-4):101-105
The aircraft-gate assignment problem is a significant concern in airline operations. This paper addresses the use of knowledge based expert systems to help solve the aircraft-gate assignment problem. The problem is described and the factors that need to be considered in aircraft-gate assignment are identified and delineated. The expert system's architecture is presented and its working is described. 相似文献
19.
《Artificial Intelligence in Engineering》1991,6(2):74-85
The formulation of lubricants for automotive engines involves the highest levels of human decision-making. A project investigating the application of AI techniques to support this activity has proved to be a challenging exercise. The aim is not to replace formulators, but to automate only those aspects of their activity where it is reasonably practicable to do so. The basic approach taken is to view formulation as a hierarchical planning activity, with deep knowledge represented using a causal model. Formulation decisions are made by rule-bases which mix heuristic knowledge and causal reasoning, together with the facility for formulators to enter their own decisions. Decisions are represented as constraints and alternative decision paths are maintained. Representation of knowledge in a manner accessible to the end users is a key issue, with substantial amounts of the construction and maintenance of the knowledge base handled by the formulators themselves. Problems in the interpretation of statements about such a complex domain have been highlighted. The formulation system integrates with existing information technology, especially databases. Whilst complete automatic formulation is viewed as technically feasible, the support of formulators in more routine matters is seen as the only practicable means of applying AI technology to lubricant formulation. 相似文献
20.
《Computers in human behavior》1994,10(2):199-207
Two methods were used to estimate the amount of 11 abilities required to perform the job of mental retardation technician. One of the methods was a subset of the ability rating scales developed by Fleishman (e.g., Fleishman & Quaintance, 1984). The second method was an expert system computer program based on the content of the ability rating scales. The results were examined for the extent to which the two methods produced similar findings. Respondents also rated the methods for personal preference, ease of understanding, and the extent to which one method was perceived to give a better picture of their job. Finally, the amount of time needed to complete each method was recorded. Convergent validity coefficients for the 11 abilities ratings from the two methods ranged from .08 to .57. Discriminate validity coefficients averaged .41 for the ability rating scales and .16 for the expert system. The preference rating indicated that most incumbents preferred the expert system method. The mean time to complete each method differed only slightly. 相似文献