Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Reading LevelReading Level
-
Content TypeContent Type
-
YearFrom:-To:
-
More FiltersMore FiltersItem TypeIs Full-Text AvailableSubjectPublisherSourceDonorLanguagePlace of PublicationContributorsLocation
Done
Filters
Reset
174
result(s) for
"Computer software Reusability."
Sort by:
Design patterns in modern C++ : reusable approaches for object-oriented software design
Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs. \"Design patterns in modern C++\" also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability. You will: Apply design patterns to modern C++ programming ; Use creational patterns of builder, factories, prototype and singleton ; Implement structural patterns such as adapter, bridge, decorator, facade and more ; Work with the behavioral patterns such as chain of responsibility, command, iterator, mediator and more ; Apply functional design patterns such as Monad and more.
Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor Design
by
Mathaikutty, Deepak A
,
Shukla, Sandeep
in
Computer software
,
Design and construction
,
Intellectual property
2009
This cutting-edge resource offers you an in-depth understanding of metamodeling approaches for the reuse of intellectual properties (IPs) in the form of reusable design or verification components. The books covers the essential issues associated with fast and effective integration of reusable design components into a system-on-a-chip (SoC) to achieve faster design turn-around time. Moreover, it addresses key factors related to the use of reusable verification IPs for a \"write once, use many times\" verification strategy - another effective approach that can attain a faster product design cycle.
Large scale reuse of microservices using CI/CD and InnerSource practices - a case study
by
Badampudi, Deepika
,
Usman, Muhammad
,
Chen, Xingru
in
Case-studies
,
Compilers
,
Computer Science
2025
Contemporary practices such as InnerSource (adopting open source practices within an organization), continuous integration and delivery (CI/CD), and the use of microservices promote software reuse. Although the benefits of individual contemporary practices on reuse may be known, the implications of collective contemporary practices, mainly challenges and improvements to mitigate the challenges, are to a large extent unknown. In this study, we investigate the additional effort (cost factors), benefits, challenges, and potential improvements in contemporary reuse at Ericsson. We performed the study in two phases: a) the initial data collection based on a combination of data collection methods (e.g., interviews, discussions, company portals), and b) a follow-up group discussion after a year to understand the status of the challenges and improvements identified in the first phase. Our results indicate that developing reusable assets resulted in upfront cost factors, such as additional effort in ensuring compliance. Furthermore, development with reuse also resulted in cost factors, for example, additional effort in integrating and understanding reusable assets. Ericsson perceived the cost factors as an investment resulting in long-term benefits such as improved quality, productivity, customer experience, and way of working. The main challenge faced by Ericsson was the pressure on the producers of reusable assets. Our study shows how InnerSource can lead to an increase in contributions to reusable assets. Furthermore, Ericsson implemented measures like automating compliance checks that improved the maturity of reusable assets, resulting in an increase in their reuse. In summary, effective use of contemporary practices such as InnerSource and CI/CD, along with the use of microservices, can facilitate large scale reuse.
Journal Article
Constraint-based Diversification of JOP Gadgets
by
Tsoupidi, Rodothea Myrsini
,
Baudry, Benoit
,
Castañeda Lozano, Roberto
in
Application programs
,
Application specific
,
Artificial intelligence
2021
Modern software deployment process produces software that is uniform, and hence vulnerable to large-scale code-reuse attacks, such as Jump-Oriented Programming (JOP) attacks. Compiler-based diversification improves the resilience and security of software systems by automatically generating different assembly code versions of a given program. Existing techniques are efficient but do not have a precise control over the quality, such as the code size or speed, of the generated code variants. This paper introduces Diversity by Construction (DivCon), a constraint-based compiler approach to software diversification. Unlike previous approaches, DivCon allows users to control and adjust the conflicting goals of diversity and code quality. A key enabler is the use of Large Neighborhood Search (LNS) to generate highly diverse assembly code efficiently. For larger problems, we propose a combination of LNS with a structural decomposition of the problem. To further improve the diversification efficiency of DivCon against JOP attacks, we propose an application-specific distance measure tailored to the characteristics of JOP attacks. We evaluate DivCon with 20 functions from a popular benchmark suite for embedded systems. These experiments show that DivCon's combination of LNS and our application-specific distance measure generates binary programs that are highly resilient against JOP attacks (they share between 0.15% to 8% of JOP gadgets) with an optimality gap of 10%. Our results confirm that there is a trade-off between the quality of each assembly code version and the diversity of the entire pool of versions. In particular, the experiments show that DivCon is able to generate binary programs that share a very small number of gadgets, while delivering near-optimal code. For constraint programming researchers and practitioners, this paper demonstrates that LNS is a valuable technique for finding diverse solutions. For security researchers and software engineers, DivCon extends the scope of compiler-based diversification to performance-critical and resource-constrained applications.
Journal Article
Aspect-oriented, model-driven software product lines : the AMPLE way
\"Software product lines provide a systematic means of managing variability in a suite of products. They have many benefits but there are three major barriers that can prevent them from reaching their full potential. First, there is the challenge of scale: a large number of variants may exist in a product line context and the number of interrelationships and dependencies can rise exponentially. Second, variations tend to be systemic by nature in that they affect the whole architecture of the software product line. Third, software product lines often serve different business contexts, each with its own intricacies and complexities. The AMPLE (http://www.ample-project.net/) approach tackles these three challenges by combining advances in aspect-oriented software development and model-driven engineering. The full suite of methods and tools that constitute this approach are discussed in detail in this edited volume and illustrated using three real-world industrial case studies\"-- Provided by publisher.
Exploring large language models in enterprise modeling
2025
Modeling is a crucial aspect of the development process in various engineering disciplines. The application of modeling in these fields typically encompasses various phases, including target setting, requirement elicitation, architecture specification, system design, and test case development. This paper focuses on the initial stages of systems development, with a specific focus on requirements engineering (RE) in enterprise modeling (EM). In particular, we examine the potential for domain experts to be replaced by artificial intelligence (AI) usage. The objective of this research is to contribute to a more comprehensive understanding of the limitations of large language models (LLMs). To this end, we employ a process from hospitality management and contrast the output of ChatGPT with that of a domain expert in an experiment. A second experiment was subsequently conducted in light of the assumption that the quality of responses can be enhanced by defining the expected output modeling language notation in the prompt and a metamodel for prompt engineering. The findings of this paper indicate that LLMs cannot replace domain experts in modeling the current situation of an enterprise. However, they can be employed as a supporting tool in EM. Moreover, the development of reusable prompts has emerged as both a viable and promising avenue for future research.
Journal Article
Similarity-based prioritization of test case automation
by
Potena, Pasqualina
,
Bohlin, Markus
,
Flemström, Daniel
in
Automation
,
Computing time
,
Heuristic methods
2018
The importance of efficient software testing procedures is driven by an ever increasing system complexity as well as global competition. In the particular case of manual test cases at the system integration level, where thousands of test cases may be executed before release, time must be well spent in order to test the system as completely and as efficiently as possible. Automating a subset of the manual test cases, i.e, translating the manual instructions to automatically executable code, is one way of decreasing the test effort. It is further common that test cases exhibit similarities, which can be exploited through reuse when automating a test suite. In this paper, we investigate the potential for reducing test effort by ordering the test cases before such automation, given that we can reuse already automated parts of test cases. In our analysis, we investigate several approaches for prioritization in a case study at a large Swedish vehicular manufacturer. The study analyzes the effects with respect to test effort, on four projects with a total of 3919 integration test cases constituting 35,180 test steps, written in natural language. The results show that for the four projects considered, the difference in expected manual effort between the best and the worst order found is on average 12 percentage points. The results also show that our proposed prioritization method is nearly as good as more resource demanding meta-heuristic approaches at a fraction of the computational time. Based on our results, we conclude that the order of automation is important when the set of test cases contain similar steps (instructions) that cannot be removed, but are possible to reuse. More precisely, the order is important with respect to how quickly the manual test execution effort decreases for a set of test cases that are being automated.
Journal Article
Expatriate compensation : the balance sheet approach
2008,2012,2009
Expatriate Compensation: The Balance Sheet Approach presents the fundamental issues involved in developing a compensation approach for expatriate assignments. How to consider differences between countries in the cost of goods and services, housing, income taxes, and other elements are covered in this booklet. Expatriate Compensation describes the most common system worldwide of compensating expatriates--the home-country \"balance sheet\" approach. Used by 90 percent of multinational companies, this approach is designed to protect expatriates from cost differences between their home and host countries.