In the last two decades, several studies have been carried out to translate Behavior Trees (BTs) into other formal languages. However, as BTs are usually drawn directly from natural languages, there is no formal gramm...
详细信息
ISBN:
(纸本)9781728195537
In the last two decades, several studies have been carried out to translate Behavior Trees (BTs) into other formal languages. However, as BTs are usually drawn directly from natural languages, there is no formal grammar to define what is a valid BT. In this research, we first propose a normal form for requirement BT as a building block for a valid BT, and then design a context-free grammar that can generate and verify all valid BTs. This work provides a solid foundation for BT research and will improve the quality of requirements modeling by identifying some common requirement defects.
In the intense business competitive situation of today, it is an important theme to improve software development productivity and shorten a software development period. There is Product Line softwareengineering (PLSE...
详细信息
ISBN:
(纸本)0769522459
In the intense business competitive situation of today, it is an important theme to improve software development productivity and shorten a software development period. There is Product Line softwareengineering (PLSE) as technology to contribute to this theme. However, many types of problems are thought to start adoption of PLSE. Not only economical issues, technical issues, and project risks, but also issues related time to market during core asset development, are identified. This paper address the problems which are identified at a project initiation phase in the PLSE startup organization which usually develops a new product's software by modification and discuss some ideas to deal with theses problems.
The microservices architectural style improves flexibility and performance but might come at the cost of complexity and cognitive effort. Understanding how architectural design decision affects cognitive effort can su...
详细信息
ISBN:
(纸本)9798350344172
The microservices architectural style improves flexibility and performance but might come at the cost of complexity and cognitive effort. Understanding how architectural design decision affects cognitive effort can support software engineers in designing and building more maintainable systems. However, little research exists measuring the impact of architectural styles on developers' cognitive processes. To the best of our knowledge, no empirical study on navigation and comprehension strategies compares a microservice-based and monolithic variant of a trading system, which is widely used for empirical research on information system evolution. To assess the cognitive processes, we conducted an eye-tracking study (n=42) of typical maintenance tasks. We randomly assigned participants to two groups performing a feature location and a code change task using the trading system's monolithic or microservices-based implementation. Efficacy is significantly higher in the monolith variant. We investigate the reasons and propose a cognitively-grounded method to analyse comprehension strategies and estimate maintenance effort. We measure differences in comprehension strategies (top-down and bottom-up comprehension) and conclude that 1) there is a significant difference in visual effort and time taken to identify a specific feature, and 2) bottom-up comprehension is more frequently applied in microservices than in the monolith variant. Finally, we discuss our findings and their implications for practitioners and the research community.
Large software systems need to be evolved to cope with their changing environment, e. g. to incorporate new functionalities, or to better use the underlying hardware. This paper proposes an approach to reveal which pa...
详细信息
ISBN:
(纸本)9781728119700
Large software systems need to be evolved to cope with their changing environment, e. g. to incorporate new functionalities, or to better use the underlying hardware. This paper proposes an approach to reveal which parts of a system can be isolated in a module, and which parts can potentially run in parallel. We use a graph representation for the data extracted from a target software system and for the queries that express our desired analyses. Then we employ a matching framework performing queries on the target graph. The data representation is highly flexible and supports several analyses, shown in our experiments.
Managing the evolution of an OO system constitutes a complex and resource-consuming task. This is particularly true for reusable class libraries since the user interface must be preserved for version compatibility Thu...
详细信息
ISBN:
(纸本)0769509169
Managing the evolution of an OO system constitutes a complex and resource-consuming task. This is particularly true for reusable class libraries since the user interface must be preserved for version compatibility Thus, the symptomatic detection of potential instabilities during the design phase of such libraries may help avoid later problems. This paper introduces a fuzzy logic-based approach for evaluating the stability of a reusable class library interface. using structural metrics as stability indicators. To evaluate this new approach, we conducted a preliminary study on a set of commercial C++ class libraries. The obtained results are very promising when compared to those of two classical machine learning approaches, Top Down Induction of Decision Trees and Bayesian classifiers.
Component-based softwareengineering (CBSE) has emerged as a key technology for developing and maintaining large-scaled software systems in an outsourcing environment. These software components tend to be developed co...
详细信息
ISBN:
(纸本)9780769534466
Component-based softwareengineering (CBSE) has emerged as a key technology for developing and maintaining large-scaled software systems in an outsourcing environment. These software components tend to be developed concurrently in different locations with asynchronous lifecycle. In practice, new versions of software components often change their interfaces and so require applications that use the components to be updated. To explore solution spaces for component-based software update and evolution, we have developed a formalism that is capable of modeling the process of software update in a component-based, concurrent development environment. The formalism can be used to determine the soundness of a component-based software update process, i.e., to make sure the components in a component-based software are updated in the correct order With a sound update strategy, the formalism ensures the compatibility among components at the end of an update process in a component-based system. Our formal model provides the foundation for the implementation of a component-based software updating tool that helps developers to keep track of the evolution and updating process in a component-based software system.
Collaboration among team members plays a crucial role in the success of software projects. GitHub has emerged as a prominent platform for collaborative software development. This study focuses on analyzing GitHub repo...
详细信息
ISBN:
(纸本)9798350344172
Collaboration among team members plays a crucial role in the success of software projects. GitHub has emerged as a prominent platform for collaborative software development. This study focuses on analyzing GitHub repositories to gain insights into project status and participant characteristics based on development activities such as commits and pull requests. Utilizing a discrete time Markov chain, this research models GitHub repositories and employs probabilistic temporal logic and model checking to shed light on the activity levels of both projects and participants. We expect that understanding these observed trends and patterns can assist project managers in strengthening teamwork and fostering productive collaboration.
Typically, test input data is manually created for the functional testing of software applications hence is a time consuming and error prone activity. In this paper, we present an approach to generate test input data ...
详细信息
ISBN:
(纸本)9780769549224
Typically, test input data is manually created for the functional testing of software applications hence is a time consuming and error prone activity. In this paper, we present an approach to generate test input data from structured requirements specifications models such as UML use case activity diagrams (UCADs). We propose Constraint Representation Syntax (CRS) for framing software attribute properties as a part of structuring the software Requirements Specifications (SRS). Then, structured models are parsed into a set of functional paths along with their predicates containing attribute constraints. Genetic algorithm is used to generate test input data that satisfy these predicates. Based on our approach a prototype tool has been developed and a case study results are evaluated.
We propose monitoring of software components, and use of monitored software components, as a general approach for engineering of embedded computer systems. In our approach, a component's execution is continuously ...
详细信息
ISBN:
(纸本)0769522459
We propose monitoring of software components, and use of monitored software components, as a general approach for engineering of embedded computer systems. In our approach, a component's execution is continuously monitored and experience regarding component behaviour is accumulated. As more and more experience is collected the confidence in the component grows;with the goal to eventually allow certification of the component. Continuous monitoring is also the base for contract checking, and provides means for post-mortem crash analysis;an important prerequisite for many companies to start use 3rd party component in their dependable systems. In this paper we show how four softwareengineering goals can be reached by monitoring four component properties.
software aging refers to the phenomenon that the performance degradation, increasing failure rate or massive resource usage demonstrated in long-running software systems such as web servers. It was reported that softw...
详细信息
ISBN:
(纸本)9780769534466
software aging refers to the phenomenon that the performance degradation, increasing failure rate or massive resource usage demonstrated in long-running software systems such as web servers. It was reported that software aging has a significant relationship with resource usage. To study the software aging phenomenon in web servers, we built an experimental platform with a server and multiple clients to collect the data of system resource usage on the server In this paper we present several experiments based on the platform and study software aging phenomenon of a widely used web server software system the Apache HTTP server Some repeatable software aging phenomena are observed in our experiments. The process of software aging is shown to be nonlinear and chaotic. In order to better present the nonlinear interplay of various resource parameters of web server and forecast resource exhaustion, a nonlinear dynamic model software aging is constructed to formulate software aging process.
暂无评论