Framework for Semantic Search Enabled Software Component Repository (SSESCR)

Author(s):  
Vishnu Sharma ◽  
Vijay Singh Rathore ◽  
Chandikaditya Kumawat

Software reuse can improve software quality with the reducing cost and development time. Systematic reuse plan enhances cohesion and reduces coupling for better testability and maintainability. Software reuse approach can be adopted at the highest extent if relevant software components can be easily searched, adapted and integrated into new system. Large software industries hold their own well managed component libraries containing well tested software component with the project category based classification .Access to these repositories are very limited. Software reuse is facing so many problems and still not so popular. This is due to issues of general access, efficient search and adoption of software component. This paper propose a framework which resolves all of the above issues with providing easy access to components, efficient incremental semantics based search, repository management, versioning of components.

2017 ◽  
Vol 10 (1) ◽  
pp. 99-121 ◽  
Author(s):  
Johnatan Oliveira ◽  
Eduardo Fernandes ◽  
Maurício Souza ◽  
Eduardo Figueiredo

Software reuse is a development strategy in which existing software components are used to implement new software systems. There are many advantages of applying software reuse, such as minimization of development efforts and improvement of software quality. Few methods have been proposed in the literature for recommendation of reuse opportunities. In this paper, we propose a method for identification and recommendation of reuse opportunities based on the similarity of the names of classes. Our method, called JReuse, computes a similarity function to identify similarly named classes from a set of software systems from a specific domain. The identified classes compose a repository with reuse opportunities. We also present a prototype tool to support the proposed method. We applied our method, through the tool, to 72 software systems mined from GitHub, in 4 different domains: accounting, restaurant, hospital, and e-commerce. In total, these systems have 1,567,337 lines of code, 57,017 methods, and 12,598 classes. As a result, we observe that JReuse is able to identify the main classes that are frequent in each selected domain.


Author(s):  
JUN-JANG JENG ◽  
BETTY H. C. CHENG

Reusing software may greatly increase the productivity of software engineers and improve the quality of developed software. Software component libraries have been suggested as a means for facilitating reuse. A major difficulty in designing software libraries is in the selection of a component representation that will facilitate the classification and the retrieval processes. Using formal specifications to represent software components facilitates the determination of reusable software because they more precisely characterize the functionality of the software, and the well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the classification, organization and retrieval of reusable software components. From a set of formal specifications, a two-tiered hierarchy of software components is constructed. The formal specifications represent software that has been implemented and verified for correctness. The lower-level hierarchy is created by a subsumption test algorithm that determines whether one component is more general than another; this level facilitates the application of automated logical reasoning techniques for a fine-grained, exact determination of reusable candidates. The higher-level hierarchy provides a coarse-grained determination of reusable candidates and is constructed by applying a hierarchical clustering algorithm to the most general components from the lower-level hierarchy. The hierarchical organization of the software component specifications provides a means for storing, browsing, and retrieving reusable components that is amenable to automation. In addition, the formal specifications facilitate the verification process that proves a given software component correctly satisfies the current problem. A prototype browser that provides a graphical framework for the classification and retrieval process is described.


2014 ◽  
Vol 644-650 ◽  
pp. 1245-1248
Author(s):  
Yong Gang Li ◽  
Zhen Dong Xi ◽  
Sha Hao ◽  
Li Bing Guo ◽  
Yi Wang

The software sharing is the development trend of tracking telemetry and command software. How to develop quickly the tracking and controlling tasks software to adapt to the current experimental situation, and to ensure software quality, is a challenging subject placed in the face of software personnel. Using software middleware and software component technology, we can solve the problems of Tracking and Controlling Network acrossing operating system, Tracking and Controlling Software acrossing program languages, software reuse and other issues.


Author(s):  
Himanshi Vashisht ◽  
Sanjay Bharadwaj ◽  
Sushma Sharma

Code refactoring is a “Process of restructuring an existing source code.”. It also helps in improving the internal structure of the code without really affecting its external behaviour”. It changes a source code in such a way that it does not alter the external behaviour yet still it improves its internal structure. It is a way to clean up code that minimizes the chances of introducing bugs. Refactoring is a change made to the internal structure of a software component to make it easier to understand and cheaper to modify, without changing the observable behaviour of that software component. Bad smells indicate that there is something wrong in the code that have to refactor. There are different tools that are available to identify and emove these bad smells. A software has two types of quality attributes- Internal and external. In this paper we will study the effect of clone refactoring on software quality attributes.


1999 ◽  
Vol 08 (02) ◽  
pp. 119-135
Author(s):  
YAU-HWANG KUO ◽  
JANG-PONG HSU ◽  
MONG-FONG HORNG

A personalized search robot is developed as one major mechanism of a personalized software component retrieval system. This search robot automatically finds out the Web servers providing reusable software components, extracts needed software components from servers, classifies the extracted components, and finally establishes their indexing information for local component retrieval in the future. For adaptively tuning the performance of software component extraction and classification, an adaptive thesaurus and an adaptive classifier, realized by neuro-fuzzy models, are embedded in this search robot, and their learning algorithms are also developed. A prototype of the personalized software component retrieval system including the search robot has been implemented to confirm its validity and evaluate the performance. Furthermore, the framework of proposed personalized search robot could be extended to the search and classification of other kinds of Internet documents.


Symmetry ◽  
2021 ◽  
Vol 13 (4) ◽  
pp. 604
Author(s):  
Nayyar Iqbal ◽  
Jun Sang

Due to advancements in science and technology, software is constantly evolving. To adapt to newly demanded requirements in a piece of software, software components are modified or developed. Measuring software completeness has been a challenging task for software companies. The uncertain and imprecise intrinsic relationships within software components have been unaddressed by researchers during the validation process. In this study, we introduced a new fuzzy logic testing approach for measuring the completeness of software. We measured the fuzzy membership value for each software component by a fuzzy logic testing approach called the fuzzy test. For each software component, the system response was tested by identifying which software components in the system required changes. Based on the measured fuzzy membership values for each software component, software completeness was calculated. The introduced approach scales the software completeness between zero and one. A software component with a complete membership value indicates that the software component does not require any modification. A non-membership value specifies that the existing software component is no longer required in the system or that a new software component is required to replace it. The partial membership value specifies that the software component requires few new functionalities according to the new software requirements. Software with a partial membership value requires partial restructuring and design recovery of its components. Symmetric design of software components reduces the complexity in the restructuring of software during modification. In the study, we showed that by using the introduced approach, high-quality software that is faultless, reliable, easily maintained, efficient, and cost-effective can be developed.


Gamification ◽  
2015 ◽  
pp. 1212-1222
Author(s):  
Sajjad Mahmood ◽  
Moataz Ahmed ◽  
Mohammad Alshayeb

Software reuse enables the development of software that is of better quality and at lower cost. Software reuse environments are sought to enhance the reuse of software artifacts especially when done at early-stage of the software life cycle. A number of software reuse environments have been proposed, however, there is no framework that helps in analyzing and evaluating such environments. In this paper the authors provide an attribute-based framework to analyze, evaluate, classify and compare the reuse environments in order to aid practitioners and researchers to select the appropriate reuse environments for their use. The authors first present a survey of existing reuse environments for systematic reuse of software artifacts. Then, they use the framework to analyze those reuse environments. The evaluation of existing environments provides an understanding of current reuse approaches and identifies gaps for future research.


Author(s):  
Tarek Zernadji ◽  
Raida Elmansouri ◽  
Allaoua Chaoui

Current research on software reuse in Component Based Software Engineering (CBSE) covers a variety of fields, including component design, component specification, component composition, component-based framework. CBSE is quickly becoming a mainstream approach to software development and most researchers are hoping that it will be solutions to all the problems that led to software crisis. The software engineering techniques specific to this discipline, in phases such as modeling, verification or validation of component based software systems still insufficient and need more research efforts. ECATNets (Extended Concurrent Algebraic Term Nets) are frameworks for specification, modeling and validation of concurrent and distributed systems. They are characterized by their semantics defined in terms of rewriting logic. The objective of this article is to propose a formal specification of software components by using ECATNets formalism. The expected benefits of this work are: Offer a formal notation for describing the different features of concurrent and distributed software components; Defining a formal unambiguous semantic to describe behavior of the composed system.


2016 ◽  
Vol 12 (09) ◽  
pp. 7 ◽  
Author(s):  
Mykhailo Poliakov ◽  
Tetiana Larionova ◽  
Galyna Tabunshchyk ◽  
Anzhelika Parkhomenko ◽  
Karsten Henke

<em>This paper present models of studied objects with the help of remote laboratories containing physical and software components. These hybrid models were described as an integrated system with a hierarchy of controls. The functional structure of hybrid models was formalized using set theory. There are described examples of hybrid models, which software component contains subsystems of virtual models, models of the “hidden” part, the technical state models and environment models of the studied object. There are considered teaching scenarios of hybrid models application. It was given an example of design teaching scenario of diagnostic subsystem of a traffic light.</em>


Author(s):  
Sangita De ◽  
Premek Brada ◽  
Juergen Mottok ◽  
Michael Niklas

Semantic alignment of application software components’ ontologies represents a great interest in vehicle application domains that manipulate heterogeneous overlapping knowledge application frameworks. In the past few years, with the growth in the novel vehicle service requirements such as autonomous driving, V2X (Vehicle-to-Vehicle communication) and many others, automotive application software component models are becoming increasingly collaborative with other qualified cross-enterprise industrial partners to accomplish these complex service requirements. The most daunting impediment to this cross-enterprise collaboration is semantic interoperability. For efficient services collaboration through cross-enterprise semantic interoperability between the vehicle application frameworks’ software components, aligning the interface ontologies of these components by identifying the depth of semantic alignment relationships between the concepts of the interface ontologies is the major focus of this paper. In contrast to several existing ontology structural metrics, this work defines, evaluates and validates ontology metrics to measure the depth of semantic alignment between the vehicle domain software component frameworks’ interface ontological models. To emphasize the substantial role of semantic alignment of software component frameworks’ interface ontologies in semantic interoperability, a typical vehicle domain case study involving vehicle applications is considered for demonstration.


Sign in / Sign up

Export Citation Format

Share Document