首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 171 毫秒
1.
基于Web的软件构件互操作性研究   总被引:16,自引:1,他引:16  
探讨了WWW环境下软件构件的互操作性。对于几种主流的软件构件模型 :CORBA ,COM和Jav aBeans,回顾了其互操作性研究的应用状况 ;同时 ,基于对SOAP的学习探讨 ,提出了将该技术集成到软件构件的互操作研究中去 ,解决异构软件构件的通信协作问题 ;最后对目前SOAP不同实现存在的问题进行了讨论。  相似文献   

2.
ContextThe generation of dynamic test sequences from a formal specification, complementing traditional testing methods in order to find errors in the source code.ObjectiveIn this paper we extend one specific combinatorial test approach, the Classification Tree Method (CTM), with transition information to generate test sequences. Although we use CTM, this extension is also possible for any combinatorial testing method.MethodThe generation of minimal test sequences that fulfill the demanded coverage criteria is an NP-hard problem. Therefore, search-based approaches are required to find such (near) optimal test sequences.ResultsThe experimental analysis compares the search-based technique with a greedy algorithm on a set of 12 hierarchical concurrent models of programs extracted from the literature. Our proposed search-based approaches (GTSG and ACOts) are able to generate test sequences by finding the shortest valid path to achieve full class (state) and transition coverage.ConclusionThe extended classification tree is useful for generating of test sequences. Moreover, the experimental analysis reveals that our search-based approaches are better than the greedy deterministic approach, especially in the most complex instances. All presented algorithms are actually integrated into a professional tool for functional testing.  相似文献   

3.
Optimization of machining processes is of primary importance for increasing machining efficiency and economics. Determining optimal values of machining parameters is performed by applying optimization algorithms to mathematical models of relationships between machining parameters and machining performance measures. In recent years, there has been an increasing trend of using empirical models and meta-heuristic optimization algorithms. The use of meta-heuristic optimization algorithms is justified because of their ability to handle highly non-linear, multi-dimensional and multi-modal optimization problems. Meta-heuristic algorithms are powerful optimization tools which provide high quality solutions in a short amount of computational time. However, their stochastic nature creates the need to validate the obtained solutions. This paper presents a software prototype for single and multi-objective machining process optimization. Since it is based on an exhaustive iterative search, it guarantees the optimality of determined solution in given discrete search space. The motivation for the development of the presented software prototype was the validation of machining optimization solutions obtained by meta-heuristic algorithms. To analyze the software prototype applicability and performance, six case studies of machining optimization problems, both single and multi-objective, were considered. In each case study the optimization solutions that had been determined by past researchers using meta-heuristic algorithms were either validated or improved by using the developed software prototype.  相似文献   

4.
ContextSoftware architecture degrades when changes violating the design-time architectural intents are imposed on the software throughout its life cycle. Such phenomenon is called architecture erosion. When changes are not controlled, erosion makes maintenance harder and negatively affects software evolution.ObjectiveTo study the effects of architecture erosion on a large software project and determine whether search-based module clustering might reduce the conceptual distance between the current architecture and the design-time one.MethodTo run an exploratory study with Apache Ant. First, we characterize Ant’s evolution in terms of size, change dispersion, cohesion, and coupling metrics, highlighting the potential introduction of architecture and code-level problems that might affect the cost of changing the system. Then, we reorganize the distribution of Ant’s classes using a heuristic search approach, intending to re-emerge its design-time architecture.ResultsIn characterizing the system, we observed that its original, simple design was lost due to maintenance and the addition of new features. In optimizing its architecture, we found that current models used to drive search-based software module clustering produce complex designs, which maximize the characteristics driving optimization while producing class distributions that would hardly be acceptable to developers maintaining Ant.ConclusionThe structural perspective promoted by the coupling and cohesion metrics precludes observing the adequate software module clustering from the perspective of software engineers when considering a large open source system. Our analysis adds evidence to the criticism of the dogma of driving design towards high cohesion and low coupling, at the same time observing the need for better models to drive design decisions. Apart from that, we see SBSE as a learning tool, allowing researchers to test Software Engineering models in extreme situations that would not be easily found in software projects.  相似文献   

5.
ContextSoftware clustering is a key technique that is used in reverse engineering to recover a high-level abstraction of the software in the case of limited resources. Very limited research has explicitly discussed the problem of finding the optimum set of clusters in the design and how to penalize for the formation of singleton clusters during clustering.ObjectiveThis paper attempts to enhance the existing agglomerative clustering algorithms by introducing a complementary mechanism. To solve the architecture recovery problem, the proposed approach focuses on minimizing redundant effort and penalizing for the formation of singleton clusters during clustering while maintaining the integrity of the results.MethodAn automated solution for cutting a dendrogram that is based on least-squares regression is presented in order to find the best cut level. A dendrogram is a tree diagram that shows the taxonomic relationships of clusters of software entities. Moreover, a factor to penalize clusters that will form singletons is introduced in this paper. Simulations were performed on two open-source projects. The proposed approach was compared against the exhaustive and highest gap dendrogram cutting methods, as well as two well-known cluster validity indices, namely, Dunn’s index and the Davies-Bouldin index.ResultsWhen comparing our clustering results against the original package diagram, our approach achieved an average accuracy rate of 90.07% from two simulations after the utility classes were removed. The utility classes in the source code affect the accuracy of the software clustering, owing to its omnipresent behavior. The proposed approach also successfully penalized the formation of singleton clusters during clustering.ConclusionThe evaluation indicates that the proposed approach can enhance the quality of the clustering results by guiding software maintainers through the cutting point selection process. The proposed approach can be used as a complementary mechanism to improve the effectiveness of existing clustering algorithms.  相似文献   

6.
软件生产支持结构的研究*   总被引:7,自引:2,他引:5  
首先说明软件、软件生产及其复杂性,指出需要过程设计和知识管理来进行软件过程改进;接着提出了研究方法和概念框架,并给出了研究内容;最后,讨论了研究结果,包括软件过程复杂性命题、软件过程改进复杂性工作程序、软件企业模型和软件生产支持结构。  相似文献   

7.
ContextSearch-Based Software Engineering (SBSE) is an emerging discipline that focuses on the application of search-based optimization techniques to software engineering problems. Software Product Lines (SPLs) are families of related software systems whose members are distinguished by the set of features each one provides. SPL development practices have proven benefits such as improved software reuse, better customization, and faster time to market. A typical SPL usually involves a large number of systems and features, a fact that makes them attractive for the application of SBSE techniques which are able to tackle problems that involve large search spaces.ObjectiveThe main objective of our work is to identify the quantity and the type of research on the application of SBSE techniques to SPL problems. More concretely, the SBSE techniques that have been used and at what stage of the SPL life cycle, the type of case studies employed and their empirical analysis, and the fora where the research has been published.MethodA systematic mapping study was conducted with five research questions and assessed 77 publications from 2001, when the term SBSE was coined, until 2014.ResultsThe most common application of SBSE techniques found was testing followed by product configuration, with genetic algorithms and multi-objective evolutionary algorithms being the two most commonly used techniques. Our study identified the need to improve the robustness of the empirical evaluation of existing research, a lack of extensive and robust tool support, and multiple avenues worthy of further investigation.ConclusionsOur study attested the great synergy existing between both fields, corroborated the increasing and ongoing interest in research on the subject, and revealed challenging open research questions.  相似文献   

8.
Search-based software testing promises the ability to generate and evaluate large numbers of test cases at minimal cost. From an industrial perspective, this could enable an increase in product quality without a matching increase in the time and effort required to do so.Search-based software testing, however, is a set of quite complex techniques and approaches that do not immediately translate into a process for use with most companies.For example, even if engineers receive the proper education and training in these new approaches, it can be hard to develop a general fitness function that covers all contingencies. Furthermore, in industrial practice, the knowledge and experience of domain specialists are often key for effective testing and thus for the overall quality of the final software system. But it is not clear how such domain expertise can be utilized in a search-based system.This paper presents an interactive search-based software testing (ISBST) system designed to operate in an industrial setting and with the explicit aim of requiring only limited expertise in software testing. It uses SBST to search for test cases for an industrial software module, while also allowing domain specialists to use their experience and intuition to interactively guide the search.In addition to presenting the system, this paper reports on an evaluation of the system in a company developing a framework for embedded software controllers. A sequence of workshops provided regular feedback and validation for the design and improvement of the ISBST system. Once developed, the ISBST system was evaluated by four electrical and system engineers from the company (the ‘domain specialists’ in this context) used the system to develop test cases for a commonly used controller module. As well as evaluating the utility of the ISBST system, the study generated interaction data that were used in subsequent laboratory experimentation to validate the underlying search-based algorithm in the presence of realistic, but repeatable, interactions.The results validate the importance that automated software testing tools in general, and search-based tools, in particular, can leverage input from domain specialists while generating tests. Furthermore, the evaluation highlighted benefits of using such an approach to explore areas that the current testing practices do not cover or cover insufficiently.  相似文献   

9.
This paper presents a solution to an integration problem arising when copying (reusing) software components developed for one domain into software structures in a similar domain. This particular problem has not been previously addressed in the design of object-oriented languages whose intent is to enhance software reuse and software integration. Object structures are directed graphs where edges are either inheritance or client- server associations, and nodes are abstract data types. The formal logic for abstract data types used in the formal method is first-order predicate logic, and the proof system uses natural deductive logic. This is the background formal logic system, and the semantic part of each object definition uses this logic. A solution to the copyability problem is presented using the new properties of inheritance relation in copyable and out copyable, as well as client-server fan in copyable and fan out copyable. This solution to the copyability problem is presented by means of an effective method using a framework for identifying and assessing potential errors in a given object- oriented structure. Several different kinds of formal logic errors are identified which can occur during copying of object definitions represented as abstract data types into object-oriented structures.  相似文献   

10.
选取合适的软件可靠性度量,对于软件质量保证及项目管理有着重要意义。现有的软件可靠性度量选取方法没有考虑软件完整性级别这个重要的设计属性。完整性级别表示软件特性的取值范围,该范围对将系统风险保持在可容忍的限度内是必需的,其对软件可靠性水平有显著影响。提出了一种基于完整性级别的可靠性度量选取框架:首先给出基于完整性级别的度量选取体系;然后在选取体系的基础上,给出相应的度量选取方法;最后,将提出的度量选取框架应用于ISO/IEC 9126质量模型中的外部软件可靠性度量,根据度量的特点将每种度量不同程度(基本、条件及参考)地推荐给不同的完整性级别。实例表明,基于完整性级别的度量选取技术是系统且有效的,所推荐的度量可以满足软件尤其是安全关键软件在不同完整性级别上的需求。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号