This paper investigates the relationship between the use of predicate-based and statement-based program spectra for bug localization. Branch and path spectra are also considered. Although statement and predicate spect...
详细信息
ISBN:
(纸本)9780769542669
This paper investigates the relationship between the use of predicate-based and statement-based program spectra for bug localization. Branch and path spectra are also considered. Although statement and predicate spectra can be based on the same raw data, the way the data is aggregated results in different information being lost. We propose a simple and cheap modification to the statement-based approach which retains strictly more information. This allows us to compare statement and predicate "metrics" (functions used to rank the statements, predicates or paths). We show that improved bug localization performance is possible using single-bug models and benchmarks.
Code-based metrics and network analysis based metrics are widely used to predict defects in software. However, their effectiveness in predicting bugs either individually or together is still actively researched. In th...
详细信息
ISBN:
(纸本)9781479921430
Code-based metrics and network analysis based metrics are widely used to predict defects in software. However, their effectiveness in predicting bugs either individually or together is still actively researched. In this paper, we evaluate the performance of these metrics using three different techniques, namely, Logistic regression, Support vector machines and Random forests. We analysed the performance of these techniques under three different scenarios on a large dataset. The results show that code metrics outperform network metrics and also no considerable advantage in using both of them together. Further, an analysis on the influence of individual metrics for prediction of bugs shows that network metrics (except out-degree) are uninfluential.
We present a model- and pattern-based method that allows software engineers to take quality requirements into account right from the beginning of the software development process. The method comprises requirements ana...
详细信息
ISBN:
(纸本)9780769546094
We present a model- and pattern-based method that allows software engineers to take quality requirements into account right from the beginning of the software development process. The method comprises requirements analysis as well as the derivation of a software architecture from requirements documents, in which quality requirements are reflected explicitly. For requirements analysis, we use an enhancement of the problem frame approach, where software development problems are represented by problem diagrams. The derivation of a software architecture starts from a set of problem diagrams, annotated with functional as well as quality requirements. First, we set up an initial software architecture, taking into account the decomposition of the overall software development problem into subproblems. Then, we incorporate quality requirements into that architecture by using security or performance patterns or mechanisms. The method is tool-supported, which allows developers to check semantic integrity conditions in the different models.
software systems are getting increasingly complex, which makes them inherently harder to understand and instrument when their behaviours should be analyzed and adapted. Observing a system requires an examination of it...
详细信息
ISBN:
(纸本)9781538636817
software systems are getting increasingly complex, which makes them inherently harder to understand and instrument when their behaviours should be analyzed and adapted. Observing a system requires an examination of its implementation and writing the appropriate monitoring code. This process can be both time consuming and error prone, especially if high-level system properties should be analyzed which are not directly reflected in the implementation. Furthermore, analysis needs often arise at runtime and are handled in an unsystematic way that is not reusable: For similar analysis tasks, the process of examining the system and writing the monitoring logic must be repeated. In this paper we present a language to specify recurring monitoring patterns which are automatically expanded into monitoring code for given models of the analyzed system. As a consequence, the effort for writing monitoring code is reduced and recurring analysis tasks are better supported through automatic code generation.
Currently, software development organizations implement the software subcontract strategy as a solution to concentrate their core competencies. In order to produce quality project outcome, they should perform the effi...
详细信息
ISBN:
(纸本)0769522459
Currently, software development organizations implement the software subcontract strategy as a solution to concentrate their core competencies. In order to produce quality project outcome, they should perform the efficient methodology to manage software subcontract process. software Subcontract Management (SSM) is a Key Process Area (KPA) in Level 2 of the Capability Maturity Model (CMM). This research proposes a prototype of software Subcontract Management System for advocating software subcontract activities according to CMM Key Practices by considering the main procedures. A management guidance is also proposed in this research.
The safety properties of Cyber-Physical Systems have characteristics of both time and spatial attributes. Although various hybrid logic languages have been proposed to represent and reason properties with both time an...
详细信息
ISBN:
(纸本)9781467396448
The safety properties of Cyber-Physical Systems have characteristics of both time and spatial attributes. Although various hybrid logic languages have been proposed to represent and reason properties with both time and spatial attributes, most of them are not concerned on the quantitative problem which is important for mission-critical CPSs to specify and verify safety properties. In this paper, we propose a language named metric temporal-spatial logic (MTSL) to solve the problem. MTSL is the combination result of the metric temporal logic (MTL) and the spatial logic S4(u). It can represent and reason CPS safety properties with both temporal and spatial attributes in a time quantitative manner. Based on different expressivity requirements, we define two kinds of MTSL languages named MTSLtPC and MTSLtOC. Their computational complexity of satisfiability problem are analysed. Moreover, in order to construct a decidable metric temporal-spatial logic which can be used to define safety properties, we also point out that one may use safety metric temporal logic (SMTL) as the temporal language. The application of MTSLs are illustrated by case studies coming from transportation domain.
Much of the research into testing model-driven systems has focused on checking the models used to drive code generation, and testing the transformations that are used. This is predicated upon the use of full code gene...
详细信息
ISBN:
(纸本)9780769546094
Much of the research into testing model-driven systems has focused on checking the models used to drive code generation, and testing the transformations that are used. This is predicated upon the use of full code generation. However, much of the model-driven system development used in practice is based on the use of partial code generation, where the developer implements sections of the system by modifying or adding to the generated code. In these situations, it is important to test for problems in or caused by this manually modified code. In this paper, we present a pragmatic approach to testing model-driven systems based on partial code generation. Our approach uses model-based testing techniques based on reuse of development models to drive test case generation.
In order to appropriately define and share the requirements among stakeholders involved in software development, a model of software Requirements Specification ( SRS), which defines requirement items and their organiz...
详细信息
ISBN:
(纸本)9781728119700
In order to appropriately define and share the requirements among stakeholders involved in software development, a model of software Requirements Specification ( SRS), which defines requirement items and their organization, is required. There exist a number of models of SRS such as the one proposed by ISO 29148. However, they are generic and not enough to represent domain-specific requirements. In this paper, we propose a systematic method to design domain-specific models of SRS by extending the existing models of SRS with requirement items for domain-specific requirements. The proposed method derives domain-specific requirement items that should be added to the reference model from the stakeholder concerns about the domain characteristics. We apply the proposed method to the automotive software domain and evaluate its effectiveness.
A better understanding of the individual developers' performance has been shown to result in benefits such as improved project estimation accuracy and enhanced software quality assurance. However, new challenges o...
详细信息
ISBN:
(纸本)9780769534466
A better understanding of the individual developers' performance has been shown to result in benefits such as improved project estimation accuracy and enhanced software quality assurance. However, new challenges of distinguishing the individual activities involved in software evolution arise when considering collaborative development environments. Since software repositories Such as version control systems (VCS) and bug tracking systems (BTS) are available for most software projects and hold a detailed and rich record of the historical development information, this, paper presents our experiences mining individual performance indicators ill collaborative development environments by using these repositories. The base of our key idea is to identify the complexity metrics (in the code base) and field defects (from bug tracking system) at individual-level by incorporating the historical data from version control system. We also remotely measure and analyze these indicators mined from a libre project jEdit, which involves around one hundred developer. The results show that these indicators are feasible and instructive in the understanding of the individual performance.
Pseudo-code written by natural language is helpful for novice developers' program comprehension. However, writing such pseudo-code is time-consuming and laborious. Motivated by the research advancements of sequenc...
详细信息
ISBN:
(纸本)9781665437844
Pseudo-code written by natural language is helpful for novice developers' program comprehension. However, writing such pseudo-code is time-consuming and laborious. Motivated by the research advancements of sequence-to-sequence learning and code semantic learning, we propose a novel deep pseudo-code generation method DeepPseudo via code feature extraction and Transformer. In particular, DeepPseudo utilizes a Transformer encoder to perform encoding for source code and then use a code feature extractor to learn the knowledge of local features. Finally, it uses a pseudo-code generator to perform decoding, which can generate the corresponding pseudo-code. We choose two corpora (i.e., Django and SPoC) from real-world large-scale projects as our empirical subjects. We first compare DeepPseudo with seven state-of-the-art baselines from pseudo-code generation and neural machine translation domains in terms of four performance measures. Results show the competitiveness of DeepPseudo. Moreover, we also analyze the rationality of the component settings in DeepPseudo.
暂无评论