Background: Code inspection has been accepted as an effective method to detect and remove defects and code reading is a critical step in code inspection. However, there are very limited empirical studies on the conten...
详细信息
ISBN:
(纸本)9781467396448
Background: Code inspection has been accepted as an effective method to detect and remove defects and code reading is a critical step in code inspection. However, there are very limited empirical studies on the content and appropriate forms of the suitable software artifacts as the supporting materials, hence inspectors may not be well-supported with necessary knowledge to carry out code reading. Objective: This research aims to investigate the impact of different common supporting materials (i.e., comments vs. design documents) on code reading. Method: A relatively large-scale controlled experiment with 135 senior students was designed and executed to compare the impacts of different supporting materials on code reading. The subjects were randomly separated into three groups with different treatments, i.e, the comments, the design documents and the comments+design documents, respectively. Two metrics regarding the code reading performance (i.e., Effectiveness and Defect Detection Rate) were used to compare the different impacts derived from the two different types of supporting materials. Qualitative feedbacks were also collected using questionnaires for the final analysis. Results: The results indicate that students performed better when being provided with comments than comments+design documents. Also, the removal of design documents shows little impact on inspection effectiveness and may lead to an increase in defect detection rate. Conclusion: Comments may provide more help and value than design documents as supporting material in small to median sized code reading.
This paper is an experience report about introducing Model-based Systems engineering (MBSE) at Volvo (Construction Equipment) and describes lessons learned. The recent growth in technologies such as electromobility, a...
详细信息
ISBN:
(纸本)9781728119700
This paper is an experience report about introducing Model-based Systems engineering (MBSE) at Volvo (Construction Equipment) and describes lessons learned. The recent growth in technologies such as electromobility, automation etc. in heavy construction machinery such as loaders, haulers, excavators etc. leads to increased complexity being addressed within embedded systems and software. Hence there is an increasing need for model-based development methodologies to facilitate flexible and distributed development scenarios, enhance communication among cross-functional teams, more importantly, traceability from requirements to system and software architectures. In this paper, we describe how the MBSE methodology was initially conceived, applied in an ongoing project, the challenges faced, and lessons learned. The paper also points to related works and future directions towards a holistic Model-Driven Development (MDD) framework.
This paper presents a generic approach for automating the augmentation of product lines using model comparison and variability modeling techniques. Product lines are subject to frequent augmentation to include more pr...
详细信息
ISBN:
(纸本)9780769549224
This paper presents a generic approach for automating the augmentation of product lines using model comparison and variability modeling techniques. Product lines are subject to frequent augmentation to include more products. Our approach aims to reduce manual effort involved in this process by automatically suggesting a tentative augmented product line model, which can serve as a baseline for the final product line. The Common Variability Language (CVL), a generic variability modeling language, is used to specify product lines in this approach. The approach applies CVL Compare, a generic approach for automating the synthesis of a CVL-based product line from a set of existing product models. The approach is illustrated with an example from a train control product line.
software quality properties, normally derived from non-functional requirements, are becoming more important for software. A main reason for software evolution is the unsatisfaction to software quality properties. When...
详细信息
ISBN:
(纸本)9780769549224
software quality properties, normally derived from non-functional requirements, are becoming more important for software. A main reason for software evolution is the unsatisfaction to software quality properties. When improving these properties through software evolution, it is essential to know whether software functions are affected and by how much. This paper proposes an approach to linking the functions with the quality properties of software for evolution via software architecture styles, aiming at contributing to (1) predicting evolution efforts and (2) transforming software for improving its quality.
software comprehension plays a critical role in software maintenance. Understanding a software system is not an easy task because in most cases documentation of software design is outdated, incomplete or absent. There...
详细信息
ISBN:
(纸本)9780769546094
software comprehension plays a critical role in software maintenance. Understanding a software system is not an easy task because in most cases documentation of software design is outdated, incomplete or absent. Therefore support of tools and algorithms are necessary for software developers to understand software quicker and easier. Clustering algorithms have been widely used for software architecture recovery. Their performance depends not only on the algorithm itself but also on the nature of the software system. For example, an algorithm that is successful for a procedural program or a small software system or might be unsuccessful for a large system developed in object-oriented paradigm. In this paper, we propose the adaption of the fast community detection algorithm for object-oriented software clustering and evaluate its performance with other clustering algorithms in the literature. It is an agglomerative hierarchical clustering algorithm that has been introduced to find communities in networks. The algorithm can operate on directed weighted graphs and it has a considerable speed advantage over other algorithms. Experimental results show that the algorithm also performs well for clustering object-oriented systems.
Some specific change control problems characteristic of Product Line softwareengineering (PLSE) were discussed. Change control for PLSE is more complicated partly because Configuration Identification (CI) is more com...
详细信息
ISBN:
(纸本)0769522459
Some specific change control problems characteristic of Product Line softwareengineering (PLSE) were discussed. Change control for PLSE is more complicated partly because Configuration Identification (CI) is more complicated. The root cause of problems for change control is that in PLSE, shared core assets must satisfy the sometimes conflicting constraints from stakeholders of different products. A Change Control Board (CCB) for core assets can help to negotiate conflicts in the short-to-medium term, while a Product Line Road Map can help to manage expectations and shape plans in the medium-to-long term.
Which are the consequences of Lehman's Laws of software Evolution for the productivity of incrementally developed projects? The concept of Incremental Development Productivity Decline (IDPD), which deals with how ...
详细信息
ISBN:
(纸本)9781479921430
Which are the consequences of Lehman's Laws of software Evolution for the productivity of incrementally developed projects? The concept of Incremental Development Productivity Decline (IDPD), which deals with how the productivity of incrementally developed software develops over its increments, is introduced. It is explained how Lehman's Laws of software Evolution apply to it and how maintenance and reuse are relevant to both. Every Law of software Evolution is discussed individually from a qualitative standpoint with regard to whether it could be a cause of IDPD. After that discussion, the overall situation is examined in light of how different courses of action cause which laws to apply different degrees of effects.
Contributions to open source software provide evidence about developers' expertise and roles. Moreover, information about developers' activity can assist in identifying their competencies in software technolog...
详细信息
ISBN:
(纸本)9781509055753
Contributions to open source software provide evidence about developers' expertise and roles. Moreover, information about developers' activity can assist in identifying their competencies in software technologies. Existing project-centric approaches benefit the needs of expert identification within a project, but provide a limited view of developers' expertise. In this paper, we identify contributors' expertise and roles by considering their contribution history across multiple projects according to different technologies. Firstly, we identify terms related to software technologies and employ information from GitHub to extract contributors' activity on specific technologies. Secondly, we present four contributor roles: developer, technical leader, bug fixer and bug contributor. We study the contribution history of 2,973 users of GitHub and reveal trends in contributions in open source software that can be exploited by employers for identifying experts or by practitioners for showcasing their expertise in various technologies.
Multi-source cross-project defect prediction (MSCPDP) refers to transferring defect knowledge from multiple source projects to the target project. MSCPDP has drawn increasing attention of academic and industry communi...
详细信息
ISBN:
(纸本)9781665455374
Multi-source cross-project defect prediction (MSCPDP) refers to transferring defect knowledge from multiple source projects to the target project. MSCPDP has drawn increasing attention of academic and industry communities owing to its advantages compared with single-source cross-project defect prediction (SSCPDP) and some MSCPDP models have been proposed. However, to the best of our knowledge, there are no empirical studies to investigate the effect of different MSCPCP models on the performance of MSCPDP. To comprehensively investigate the performance of different MSCPDP models, we first conduct the literature research about MSCPDP studies, and then identify and compare 7 state-of-the-art MSCPDP models in terms of multiple performance measures including PD, PF, area under ROC curve (AUC), F1, precision, Matthews correlation coefficient (MCC), and Popt20% on 20 publicly available defect datasets. Furthermore, a robust multiple comparison method, i.e., the Scott-Knott effect-size difference (ESD) test, is used for statistical test. The experiment results show that 1) Burak's Filter always performs best in terms of precision, AUC, MCC, Popt20% except for F1;2) MSCPDP models outperform the mean performance of SSCPDP models on most datasets;3) the performance of MSCPDP models still needs to be further improved. We suggest software engineers use MSCPDP models but not SSCPDP models for CPDP and pay more attention to both the distribution difference of different datasets and the problems of sample similarity and weight when building MSCPDP models.
Aspect Oriented software Development (AOSD) focuses on the separation of crosscutting concerns. Crosscutting concerns are separable at the requirements phase, design phase, or implementation phase. In this survey, we ...
详细信息
ISBN:
(纸本)0769524656
Aspect Oriented software Development (AOSD) focuses on the separation of crosscutting concerns. Crosscutting concerns are separable at the requirements phase, design phase, or implementation phase. In this survey, we have classified Aspect Oriented Requirements engineering (AORE) approaches as traditional and non-traditional requirements engineering approaches. The traditional approaches are based on fundamental requirements engineering approaches such as viewpoint oriented, use case/scenario, and goal oriented approaches. Whereas the non-traditional approaches are based on component based engineering, feature driven developments, and domain analysis and engineering. The AORE models have been compared on the basis of systematic activities for separation of concerns: identify, separate, represent, and compose, conflict resolution techniques, and tool support. This survey deals with the open issues put forward by various authors and the observations made by analyses of the AORE models.
暂无评论