The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Test cases are useful for program comprehension. Developers often understand dynamic behavior of systems by running their test cases. As manual testing is expensive, automatic testing has been extensively studied to reduce the cost. However, without sufficient knowledge of the software under test, it is difficult for automated testing techniques to create effective test cases, especially for software...
Over the years of software development, a vast amount of source code has been accumulated. Many code search tools were proposed to help programmers reuse previously-written code by performing free-text queries over a large-scale codebase. Our experience shows that the accuracy of these code search tools are often unsatisfactory. One major reason is that existing tools lack of query understanding ability...
Framework is a way of reusing the design of whole system or part of it, which is considered as the most effective way now in software engineering. The trend of automatic test system (ATS) software is becoming more and more complex. In response to this trend and to improve the efficiency of its software development, combined with the technology related to software engineering and automatic test technology,...
In large software systems, it is common practice to adopt third-party libraries. Decisions by system maintainers to either update or introduce new third-party libraries can range from trivial to complex. For instance, incompatibility between internal library dependencies may complicate adoption. Therefore, system maintainers especially need adequate assurance of any candidate library release. Using...
Unintentional re-implementation of existing functionality is an issue frequently reported in practice and causes increased efforts for development and maintenance. However, instances are hard to find with existing approaches. For practitioners, this increases maintenance risks, such as inconsistent bug fixing, and hinders quality improvement efforts. For researchers, this hinders a reliable quantification...
System maintainers face several challenges stemming from a system and its library dependencies evolving separately. Novice maintainers may lack the historical knowledge required to efficiently manage an inherited system. While some libraries are regularly updated, some systems keep a dependency on older versions. On the other hand, maintainers may be unaware that other systems have settled on a different...
Developers often reuse source files developed for another project. In order to update a reused file to a newer version released by the original project, developers have to track which revision of a file was reused and how its content was modified. However, such tracking is tedious for developers. Many projects keep older versions of files whose bugs are already fixed in the original project. In this...
Backward compatibility is a major concern for any library developer. In this paper, we evaluate how stable a set of frequently used third-party libraries is in terms of method removals, implementation change, the ratio of change in old methods to change in new ones and the percentage of new methods in each snapshot. We provide a motivating example of a commercial company which demonstrates several...
In practice, many factors must be considered and balanced when making software reuse decisions. However, few empirical studies exist that leverage practical techniques to support decision-making in software reuse. This paper reports a case study that applied SMART (Simple Multi-Attribute Rating Technique) to a company that considered reuse as an option of reengineering its web site. The company's...
To retrieve and extract the most satisfying among the library of components is important in component library management system. The general component retrieval system seldom provides information about respect of reused actually. Data mining technology provides a feasible approach to above problem. In the paper, how to use the application of classification method decision-tree-based to the component...
In order to realize the full potential of software reuse, effective search techniques are indeed essential. In this paper, we propose a semantic-based approach for retrieving relevant components from a reuse repository. This approach utilizes an ontology model that includes a source-code ontology, a component ontology, and a domain-specific ontology. Due to the indexing and knowledge population mechanisms...
Building a requirements library allows practitioners to better leverage reuse since they can work on the abstractions closer to the software system's initial concepts. However, little research has explored how to retrieve requirements profiles to answer user's queries to the library. This paper presents an experimental investigation of retrieving functional requirements profiles. We assessed the effect...
Software asset repository, a treasure house of knowledge in software industry, is a primary infrastructure of Asset-Based Software Engineering. Now asset repositories are usually built into isolated islands and are browsable or searchable only by people, which has substantially reduced their functionality and greatly hindered the reuse in practice. Based on service-oriented approach, we proposed a...
Software asset repository is a primary infrastructure of Asset-Based Software Engineering. Now asset repositories are usually built into isolated islands and are browsable or searchable only by people, which has substantially reduced their functionality and greatly hindered the reuse in practice. Based on service-oriented approach, we proposed a lightweight open framework for sharing reusable assets...
This paper addresses the need to increase the effectiveness and productivity of independent verification and validation (IV & V) of complex system-of-systems software via software reuse. It builds upon our previous work on reusing the system reference model (SRM) artifacts in the IV & V of system-of-systems software and presents a framework for organizing the reusable artifacts according to...
A library of software components exerts an important role in corporative level, supporting the documentation, specification, storage and recovery of components. This work considers the storage and the recovery of software components with the use of an interface in natural language. A method to generate a representation form is described, to be stored in the library, for the texts that describe the...
Software reuse is only effective if it is easier to locate and appropriately modify a reusable component than to write it from scratch. It is the use of existing software knowledge or artifacts also known as software components to build new software. There are two main problems in software reuse. First, classifying software modules in a component library is a major problem in software reuse. Second,...
In order to promote the reuse ability of software, the domain engineering-based development method is used. A design architecture and software architecture in domain information system are presented. The paper emphasizes model architecture of domain information system and the design of the general component library. The system implements a general component library to mark, inspect, classify and administrate...
The ldquosoftware crisisrdquo outbreak in 1960s continues to this day. The process of software development faces a number of serious problems; software reuse is the fundamental approach to solve this problem. Design patterns is one of the typical way of software reuse, is the basic of reusable object-oriented software design. In order to reduce the influences of a variety of functions and non-functional...
If some small libraries use traditional library management system, they maybe waste resources. In order to this problem, a library management system based on struts and hibernate frame is put forward. This system has MVC architecture. It is a multi-tier system including presentation layer, business layer, data persistence layer and database layer, which can separate codes, and improve maintainability...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.