scholarly journals On opportunistic software reuse

Computing ◽  
2020 ◽  
Vol 102 (11) ◽  
pp. 2385-2408
Author(s):  
Niko Mäkitalo ◽  
Antero Taivalsaari ◽  
Arto Kiviluoto ◽  
Tommi Mikkonen ◽  
Rafael Capilla

Abstract The availability of open source assets for almost all imaginable domains has led the software industry to opportunistic design—an approach in which people develop new software systems in an ad hoc fashion by reusing and combining components that were not designed to be used together. In this paper we investigate this emerging approach. We demonstrate the approach with an industrial example in which Node.js modules and various subsystems are used in an opportunistic way. Furthermore, to study opportunistic reuse as a phenomenon, we present the results of three contextual interviews and a survey with reuse practitioners to understand to what extent opportunistic reuse offers improvements over traditional systematic reuse approaches.

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.


2021 ◽  
Vol 11 (12) ◽  
pp. 5690
Author(s):  
Mamdouh Alenezi

The evolution of software is necessary for the success of software systems. Studying the evolution of software and understanding it is a vocal topic of study in software engineering. One of the primary concepts of software evolution is that the internal quality of a software system declines when it evolves. In this paper, the method of evolution of the internal quality of object-oriented open-source software systems has been examined by applying a software metric approach. More specifically, we analyze how software systems evolve over versions regarding size and the relationship between size and different internal quality metrics. The results and observations of this research include: (i) there is a significant difference between different systems concerning the LOC variable (ii) there is a significant correlation between all pairwise comparisons of internal quality metrics, and (iii) the effect of complexity and inheritance on the LOC was positive and significant, while the effect of Coupling and Cohesion was not significant.


Automation ◽  
2021 ◽  
Vol 2 (2) ◽  
pp. 48-61
Author(s):  
Bhavyansh Mishra ◽  
Robert Griffin ◽  
Hakki Erhan Sevil

Visual simultaneous localization and mapping (VSLAM) is an essential technique used in areas such as robotics and augmented reality for pose estimation and 3D mapping. Research on VSLAM using both monocular and stereo cameras has grown significantly over the last two decades. There is, therefore, a need for emphasis on a comprehensive review of the evolving architecture of such algorithms in the literature. Although VSLAM algorithm pipelines share similar mathematical backbones, their implementations are individualized and the ad hoc nature of the interfacing between different modules of VSLAM pipelines complicates code reuseability and maintenance. This paper presents a software model for core components of VSLAM implementations and interfaces that govern data flow between them while also attempting to preserve the elements that offer performance improvements over the evolution of VSLAM architectures. The framework presented in this paper employs principles from model-driven engineering (MDE), which are used extensively in the development of large and complicated software systems. The presented VSLAM framework will assist researchers in improving the performance of individual modules of VSLAM while not having to spend time on system integration of those modules into VSLAM pipelines.


Author(s):  
GREG BOONE

Although the majority of professional trade press and academic attention regarding CASE (Computer Aided Software/Systems Engineering) has focused on technology, software developers have not been deluded by overinflated productivity gains attributed to those technologies. Truly profound technologies require a concomitant change in methods, practices, and techniques. Unfortunately, the majority of the software industry has had the expectation that CASE will automate their current work without rethinking work practices. Changing work practices, particularly among highly independent-minded software developers, who prize independent creativity more than team engineering, is the most difficult challenge facing the advance of the software development profession. Equally difficult is the ideological change from a productivity improvement expectation to a quality improvement expectation. This paper examines the current rate of CASE adoption and the changes necessary to accelerate its successful adoption.


MRS Bulletin ◽  
1993 ◽  
Vol 18 (7) ◽  
pp. 29-34 ◽  
Author(s):  
Shuichi Iwata

One of the requirements for an intelligent system is to construct a virtual reality in the computer. For materials development, the “reality” is a laboratory or a production line used to improve some aspect of a material by changing its composition, processing parameters, service conditions, etc. In the case of information in libraries, the reality is a search that uses a thesaurus and bibliographic (fact) databases. The greatest barrier faced by users of materials information is that of accessing necessary information through both a librarian's view and a scientific/technological expert's view. One of the objectives of a virtual production line is to reduce this barrier through user-friendly interfaces.In designing materials, two typical approaches are combined to solve a given problem. The first is a top-down approach, in which a number of requirements are resolved to a set of possible and practical solutions for satisfying these requirements to a certain level. Almost all alloy development has followed such an approach. The second approach is a bottom-up approach, where different materials properties are described on the basis of underlying theories, preferably using first principles and fundamental data. But the vast number of possible materials makes the bottom-up approach unrealistic on its own. Instead, semi-empirical approaches are needed to bridge the gap between ad hoc data sets for practical applications and results produced by the bottom-up approach using fundamental data and first-principle calculations.


Author(s):  
Jose Torres-Jimenez ◽  
Himer Avila-George ◽  
Ezra Federico Parra-González

Software testing is an essential activity to ensure the quality of software systems. Combinatorial testing is a method that facilitates the software testing process; it is based on an empirical evidence where almost all faults in a software component are due to the interaction of very few parameters. The test generation problem for combinatorial testing can be represented as the construction of a matrix that has certain properties; typically this matrix is a covering array. Covering arrays have a small number of tests, in comparison with an exhaustive approach, and provide a level of interaction coverage among the parameters involved. This paper presents a repository that contains binary covering arrays involving many levels of interaction. Also, it discusses the importance of covering array repositories in the construction of better covering arrays. In most of the cases, the size of the covering arrays included in the repository reported here are the best upper bounds known, moreover, the files containing the matrices of these covering arrays are available to be downloaded. The final purpose of our Binary Covering Arrays Repository (BCAR) is to provide software testing practitioners the best-known binary test-suites.


2020 ◽  
pp. 53-108
Author(s):  
Christian Schlegel ◽  
Alex Lotz ◽  
Matthias Lutz ◽  
Dennis Stampfer

AbstractSuccessful engineering principles for building software systems rely on the separation of concerns for mastering complexity. However, just working on different concerns of a system in a collaborative way is not good enough for economically feasible tailored solutions. A successful approach for this is the composition of complex systems out of commodity building blocks. These come as is and can be represented as blocks with ports via data sheets. Data sheets are models and allow a proper selection and configuration as well as the prediction of the behavior of a building block in a specific context. This chapter explains how model-driven approaches can be used to support separation of roles and composition for robotics software systems. The models, open-source tools, open-source robotics software components and fully deployable robotics software systems shape a robotics software ecosystem.


Sign in / Sign up

Export Citation Format

Share Document