Many companies have development sites around the globe. This inevitably means that development work may be transferred between the sites. This paper defines a classification transfer types;it divides transfers into th...
详细信息
ISBN:
(纸本)9780769549224
Many companies have development sites around the globe. This inevitably means that development work may be transferred between the sites. This paper defines a classification transfer types;it divides transfers into three main types: full, partial and gradual transfers to describe the context of a transfer. The differences between transfer types, and hence for a classification, are illustrated with staffing curves for two different transfer types. The staffing curves are obtained through a combination of interviews with both high-level management and a group of experts, and an industrial case study. From the empirical work, it is concluded that the distribution of personnel differs for different types of transfer, which means that it is crucial to be clear about different classes of software transfers. If not, it is easy to underestimate the effort needed to transfer software work as well as additional costs related to the transfer as such.
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.
interpretation is capable of inferring a wide variety of quantifier-free program invariants. In this paper, we propose a general framework for building universally quantified abstract domains that leverage existing qu...
详细信息
ISBN:
(纸本)9781538636817
interpretation is capable of inferring a wide variety of quantifier-free program invariants. In this paper, we propose a general framework for building universally quantified abstract domains that leverage existing quantifier-free domains in induction-loop programs. This method is sound and converges in finite time. We instantiate this framework using two quantifier free domains: difference-bound matrices with disequality constraints (dDBM) domain and polynomial equations domain. The experiments on a variety of programs using arrays demonstrate the feasibility of the approach.
CAISE, a collaborative softwareengineering architecture, provides extensible real-time support for collaboration between participating tools and users. The architecture maintains a semantic project model constructed ...
详细信息
ISBN:
(纸本)0769522459
CAISE, a collaborative softwareengineering architecture, provides extensible real-time support for collaboration between participating tools and users. The architecture maintains a semantic project model constructed incrementally from software artifacts as they are developed;this model is used to determine the impact of changes at a semantic level. This information is relayed to developers, providing them with awareness of others' locations, and alerting them to potential conflicts and the need for closer collaboration. We use examples from CAISE-based tools to illustrate the potential of real-time collaborative soft-ware engineering to enhance awareness of other developers' actions.
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.
Generally, functions and execution environment which form a software system are changed because requirements change, referred to as "software evolution". At this change, maintaining consistency of the config...
详细信息
ISBN:
(纸本)9780769534466
Generally, functions and execution environment which form a software system are changed because requirements change, referred to as "software evolution". At this change, maintaining consistency of the configuration is important, in order to prevent trouble. However it is difficult for software engineers to perform this kind of maintenance. Thus, when a configuration is changed, computer support is needed. In this paper, we propose a method of FMC (Feature, Module and Connection) which focuses on the maintenance of configuration changes, and we formalize FMC by Alloy. FMC is a modeling method which is based on the feature model of FODA. FMC abstracts functions, execution environment and correspondence relations between functions and execution environment. In addition, we describe how to check and correct inconsistency of FMC using Alloy.
The first international workshop on management and economics of software product lines will bring together researchers and practitioners from academia, industry and governments to report and discuss the challenges and...
详细信息
ISBN:
(纸本)9780769530574
The first international workshop on management and economics of software product lines will bring together researchers and practitioners from academia, industry and governments to report and discuss the challenges and opportunities of adopting and managing software product lines from managerial, organizational, and economics point of view.
As two major performance measures, software productivity and quality convey critical information in supporting many decision making situations during project planning, management, as well as process/organization bench...
详细信息
ISBN:
(纸本)9780769534466
As two major performance measures, software productivity and quality convey critical information in supporting many decision making situations during project planning, management, as well as process/organization benchmarking processes. However, there is a lack of investigation on these performance measures with respect to enhancement projects, this leads to, in many enhancement/maintenance cases, the inappropriate application of techniques or benchmarking data resulted from studies using development project data. In this paper, through analysis of 264 enhancement projects in China, vile seek to develop in-depth and comprehensive understanding about software enhancement projects, by examining the variance of productivity and defect density by several significant influencing factors, such as business area, region, language, programming tool, project size, and team size.
Due to the critical consequences of possible failures, robot systems must be formally verified to guarantee that their behaviors are correct and safe. There is, however, a gap in terms of building safe behaviors betwe...
详细信息
ISBN:
(纸本)9798350344172
Due to the critical consequences of possible failures, robot systems must be formally verified to guarantee that their behaviors are correct and safe. There is, however, a gap in terms of building safe behaviors between the formal methods and robotic communities as the latter focuses on informal design and its implementation in a manner which is accessible to robotics engineers. In this paper, we present an approach to bridge that gap which enables a tight coupling of informal robot behaviors defined in SMACH, Python state machine API, with formal models through a process of translation. A set of mapping rules, which facilitates transformation is provided and the result is utilized for formal verification of safety properties. We also discuss the current limitations of such work along with recommendations on how these might be addressed.
The expansion of the development of software systems has been continuing in companies for years. That causes higher maintenance effort for the companies. To address the situation, exploring how reducing, reusing, and ...
详细信息
ISBN:
(纸本)9781665455374
The expansion of the development of software systems has been continuing in companies for years. That causes higher maintenance effort for the companies. To address the situation, exploring how reducing, reusing, and recycling software, which we call software 3R, is assumed to be the right direction. This paper proposes a new software visualization technique, Digital software City (DigiSoC) by combining two approaches: process mining and program comprehension. By analyzing digital data (log and source code), it creates a 3D visualization of both software structure and behavior. For promoting software 3R, DigiSoC can help software architects to comprehend the actual, comprehensive status of the usage of the software in operation.
暂无评论