共查询到20条相似文献,搜索用时 0 毫秒
1.
Santiago A. Vidal Claudia Marcos J. Andrés Díaz-Pace 《Automated Software Engineering》2016,23(3):501-532
Code smells are a popular mechanism to find structural design problems in software systems. Consequently, several tools have emerged to support the detection of code smells. However, the number of smells returned by current tools usually exceeds the amount of problems that the developer can deal with, particularly when the effort available for performing refactorings is limited. Moreover, not all the code smells are equally relevant to the goals of the system or its health. This article presents a semi-automated approach that helps developers focus on the most critical problems of the system. We have developed a tool that suggests a ranking of code smells, based on a combination of three criteria, namely: past component modifications, important modifiability scenarios for the system, and relevance of the kind of smell. These criteria are complementary and enable our approach to assess the smells from different perspectives. Our approach has been evaluated in two case-studies, and the results show that the suggested code smells are useful to developers. 相似文献
2.
3.
4.
Namfon Assawamekin Thanwadee Sunetnanta Charnyote Pluempitiwiriyawej 《Knowledge and Information Systems》2010,25(3):493-522
Large-scaled software development inevitably involves a group of stakeholders, each of whom may express their requirements differently in their own terminology and representation depending on their perspectives or perceptions of their shared problems. In view of that, the heterogeneity must be well handled and resolved in tracing and managing changes of such requirements. This paper presents our multiperspective requirements traceability (MUPRET) framework which deploys ontology as a knowledge management mechanism to intervene mutual “understanding” without restricting the freedom in expressing requirements differently. Ontology matching is applied as a reasoning mechanism in automatically generating traceability relationships. The relationships are identified by deriving semantic analogy of ontology concepts representing requirements elements. The precision and recall of traceability relationships generated by the framework are verified by comparing with a set of traceability relationships manually identified by users as a proof-of-concept of this framework. 相似文献
5.
Context
For large software projects it is important to have some traceability between artefacts from different phases (e.g.requirements, designs, code), and between artefacts and the involved developers. However, if the capturing of traceability information during the project is felt as laborious to developers, they will often be sloppy in registering the relevant traceability links so that the information is incomplete. This makes automated tool-based collection of traceability links a tempting alternative, but this has the opposite challenge of generating too many potential trace relationships, not all of which are equally relevant.Objective
This paper evaluates how to rank such auto-generated trace relationships.Method
We present two approaches for such a ranking: a Bayesian technique and a linear inference technique. Both techniques depend on the interaction event trails left behind by collaborating developers while working within a development tool.Results
The outcome of a preliminary study suggest the advantage of the linear approach, we also explore the challenges and potentials of the two techniques.Conclusion
The advantage of the two techniques is that they can be used to provide traceability insights that are contextual and would have been much more difficult to capture manually. We also present some key lessons learnt during this research. 相似文献6.
Toward reference models for requirements traceability 总被引:1,自引:0,他引:1
Requirements traceability is intended to ensure continued alignment between stakeholder requirements and various outputs of the system development process. To be useful, traces must be organized according to some modeling framework. Indeed, several such frameworks have been proposed, mostly based on theoretical considerations or analysis of other literature. This paper, in contrast, follows an empirical approach. Focus groups and interviews conducted in 26 major software development organizations demonstrate a wide range of traceability practices with distinct low-end and high-end users of traceability. From these observations, reference models comprising the most important kinds of traceability links for various development tasks have been synthesized. The resulting models have been validated in case studies and are incorporated in a number of traceability tools. A detailed case study on the use of the models is presented. Four kinds of traceability link types are identified and critical issues that must be resolved for implementing each type and potential solutions are discussed. Implications for the design of next-generation traceability methods and tools are discussed and illustrated 相似文献
7.
Recovering traceability links between code and documentation 总被引:2,自引:0,他引:2
Antoniol G. Canfora G. Casazza G. De Lucia A. Merlo E. 《IEEE transactions on pattern analysis and machine intelligence》2002,28(10):970-983
Software system documentation is almost always expressed informally in natural language and free text. Examples include requirement specifications, design documents, manual pages, system development journals, error logs, and related maintenance reports. We propose a method based on information retrieval to recover traceability links between source code and free text documents. A premise of our work is that programmers use meaningful names for program items, such as functions, variables, types, classes, and methods. We believe that the application-domain knowledge that programmers process when writing the code is often captured by the mnemonics for identifiers; therefore, the analysis of these mnemonics can help to associate high-level concepts with program concepts and vice-versa. We apply both a probabilistic and a vector space information retrieval model in two case studies to trace C++ source code onto manual pages and Java code to functional requirements. We compare the results of applying the two models, discuss the benefits and limitations, and describe directions for improvements. 相似文献
8.
Requirements traceability offers many benefits to software projects, and it has been identified as critical for successful development. However, numerous challenges exist in the implementation of traceability in the software engineering industry. Some of these challenges can be overcome through organizational policy and procedure changes, but the lack of cost-effective traceability models and tools remains an open problem. A novel, cost-effective solution for the traceability tool problem is proposed, prototyped, and tested in a case study using an actual software project. Metrics from the case study are presented to demonstrate the viability of the proposed solution for the traceability tool problem. The results show that the proposed method offers significant advantages over implementing traceability manually or using existing commercial traceability approaches. 相似文献
9.
Management of the hundreds or thousands of requirements associated with a large aerospace system is a tedious, error-prone process. Automated Requirements Traceability System (ARTS) has been developed to automate this process. ARTS is a bookkeeping program that operates on a data base consisting of system requirements and their attributes. It provides upward and downward traceability in a hierarchical structure, as well as data base management and output operations on any requirement-related attributes selected by the user. ARTS is currently implemented on the UNIVAC 1110, DEC VAX-11/780, and IBM computers. 相似文献
10.
The paper presents a modelling method aimed to support the definition and elicitation of requirements for mobile apps through an approach that enables semantic traceability for the requirements representation. Business process-centricity is employed in order to capture requirements in a knowledge structure that retains procedural knowledge from stakeholders and can be traversed by semantic queries in order to trace domain-specific contextual information for the modelled requirements. Consequently, instead of having requirements represented as natural language items that are documented by diagrammatic models, the communication channels are switched: semantically interlinked conceptual models become the requirements representation, while free text can be used for requirements annotations/metadata. Thus, the method establishes a knowledge externalization channel between business stakeholders and app developers, also tackling the Twin Peaks bridging challenge (between requirements and early designs). The method is presented using its modelling procedure as a guiding thread, with each step illustrated by case-based samples of the modelling language and auxiliary functionality. The design work is encompassed by an existing metamodelling framework and introduces a taxonomy for modelling relations, since the metamodel is the key enabler for the goal of semantic traceability. The research was driven by the ComVantage EU research project, concerned with mobile app support for collaborative business process execution. Therefore, the project provides context for the illustrating examples; however, generalization possibilities beyond the project scope will also be discussed, with respect to both motivation and outcome. 相似文献
11.
Supporting scenario-based requirements engineering 总被引:1,自引:0,他引:1
Sutcliffe A.G. Maiden N.A.M. Minocha S. Manuel D. 《IEEE transactions on pattern analysis and machine intelligence》1998,24(12):1072-1088
Scenarios have been advocated as a means of improving requirements engineering yet few methods or tools exist to support scenario based RE. The paper reports a method and software assistant tool for scenario based RE that integrates with use case approaches to object oriented development. The method and operation of the tool are illustrated with a financial system case study. Scenarios are used to represent paths of possible behavior through a use case, and these are investigated to elaborate requirements. The method commences by acquisition and modeling of a use case. The use case is then compared with a library of abstract models that represent different application classes. Each model is associated with a set of generic requirements for its class, hence, by identifying the class(es) to which the use case belongs, generic requirements can be reused. Scenario paths are automatically generated from use cases, then exception types are applied to normal event sequences to suggest possible abnormal events resulting from human error. Generic requirements are also attached to exceptions to suggest possible ways of dealing with human error and other types of system failure. Scenarios are validated by rule based frames which detect problematic event patterns. The tool suggests appropriate generic requirements to deal with the problems encountered. The paper concludes with a review of related work and a discussion of the prospects for scenario based RE methods and tools 相似文献
12.
Jang-Soo Lee Author Vitae Vikash Katta Author Vitae Author Vitae Christian Raspotnig Author Vitae 《Journal of Systems and Software》2010,83(9):1612-1621
Safety is a system property, hence the high-level safety requirements are incorporated into the implementation of system components. In this paper, we propose an optimized traceability analysis method which is based on the means-ends and whole-part concept of the approach for cognitive systems engineering to trace these safety requirements. A system consists of hardware, software, and humans according to a whole-part decomposition. The safety requirements of a system and its components are enforced or implemented through a means-ends lifecycle. To provide evidence of the safety of a system, the means-ends and whole-part traceability analysis method will optimize the creation of safety evidence from the safety requirements, safety analysis results, and other system artifacts produced through a lifecycle. These sources of safety evidence have a causal (cause-consequence) relationship between each other. The failure mode and effect analysis (FMEA), the hazard and operability analysis (HAZOP), and the fault tree analysis (FTA) techniques are generally used for safety analysis of systems and their components. These techniques cover the causal relations in a safety analysis. The causal relationships in the proposed method make it possible to trace the safety requirements through the safety analysis results and system artifacts. We present the proposed approach with an example, and described the usage of TRACE and NuSRS tools to apply the approach. 相似文献
13.
The dealing-room study is one of many studies that have used video to support requirements elicitation and the general design process. A growing body of experience with video-based ethnographies supports technology development in various domains, including air traffic and other control rooms, healthcare, public settings such as museums, and more experimental technologies, including media spaces and ubiquitous computing. 相似文献
14.
Requirements Engineering - Traceability links recovery (TLR) has been a topic of interest for many years. However, TLR approaches are based on the latent semantics of the software artifacts, and... 相似文献
15.
基于注释改进动态需求跟踪的方法 总被引:1,自引:0,他引:1
需求跟踪为软件工程提供有力的支持,然而人工建立需求跟踪关系费时费力,存在着成本过高,难以维护等问题.动态需求跟踪运用信息检索等技术,自动化建立需求文档和工作产品的跟踪关系,但在跟踪精度等方面仍然存在问题.在现有的动态需求跟踪方法基础之上,分析了需求动态跟踪精度问题产生的原因,提出了使用代码注释辅助动态需求跟踪的方法,改进了需求动态跟踪工具,并通过实验验证了方法对于动态需求跟踪效果的改进. 相似文献
16.
Traceability is recognized to be important for supporting agile development processes. However, after analyzing many of the
existing traceability approaches it can be concluded that they strongly depend on traditional development process characteristics.
Within this paper it is justified that this is a drawback to support adequately agile processes. As it is discussed, some
concepts do not have the same semantics for traditional and agile methodologies. This paper proposes three features that traceability
models should support to be less dependent on a specific development process: (1) user-definable traceability links, (2) roles,
and (3) linkage rules. To present how these features can be applied, an emerging traceability metamodel (TmM) will be used
within this paper. TmM supports the definition of traceability methodologies adapted to the needs of each project. As it is
shown, after introducing these three features into traceability models, two main advantages are obtained: 1) the support they
can provide to agile process stakeholders is significantly more extensive, and 2) it will be possible to achieve a higher
degree of automation. In this sense it will be feasible to have a methodical trace acquisition and maintenance process adapted
to agile processes. 相似文献
17.
A. V. Kozachok 《Programming and Computer Software》2017,43(5):314-319
Presently, a special attention is paid to the problem of information security when designing and using objects of critical information infrastructure. One of the most common approaches used to secure the information processed on these objects is the creation of an isolated program environment (sandbox). The security of the environment is determined by its invariability. However, the evolutionary development of data processing systems makes it necessary to implement new components and software in this environment on the condition that the security requirements are met. In this case, the most important requirement is trust in a new program code. This paper is devoted to developing a formal logical language to describe functional requirements for program code that allows one to impose further constraints at the stage of static analysis, as well as to control their fulfillment in dynamics. 相似文献
18.
In this work, we present an approach that introduces requirements traceability capabilities in the context of model-driven development of Web applications. This aspect allows us to define model-to-model transformations that not only provide a software artifact of lower abstraction (as model-to-model transformations usually do) but also to provide feedback about how they are applied. This feedback helps us to validate whether transformations are correctly applied. In particular, we present a model-to-model transformation that allows us to obtain navigational models of the Web engineering method OOWS from a requirements model. This transformation is defined as a set of mappings between these two models that have been implemented by means of graph transformations. The use of graph transformations allows us to develop a tool-supported strategy for applying mappings automatically. In addition, mechanisms for tracing requirements are also included in the definition of graph transformations. These mechanisms allow us to link each conceptual element to the requirements from which it is derived. In particular, we focus on tracing requirements throughout the navigational model, which describe the navigational structure of a Web application. To take advantage of these traceability mechanisms, we have developed a tool that obtains traceability reports after applying transformations. These reports help us to study aspects such as whether requirements are all supported, the impact of changing a requirement, or how requirements are modelled. 相似文献
19.
20.
Traceability—the ability to follow the life of software artifacts—is a topic of great interest to software developers in general, and to requirements engineers and model-driven developers in particular. This article aims to bring those stakeholders together by providing an overview of the current state of traceability research and practice in both areas. As part of an extensive literature survey, we identify commonalities and differences in these areas and uncover several unresolved challenges which affect both domains. A good common foundation for further advances regarding these challenges appears to be a combination of the formal basis and the automated recording opportunities of MDD on the one hand, and the more holistic view of traceability in the requirements engineering domain on the other hand. 相似文献