Results 1 - 10
of
16
Software Traceability: A Roadmap
- Handbook of Software Engineering and Knowledge Engineering
, 2004
"... Traceability of software artefacts has been recognised as an important factor for supporting various activities in the software system development process. In general, the objective of traceability is to improve the quality of software systems. More specifically, traceability information can be used ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Traceability of software artefacts has been recognised as an important factor for supporting various activities in the software system development process. In general, the objective of traceability is to improve the quality of software systems. More specifically, traceability information can be used to support the analysis of implications and integration of changes that occur software systems; the maintenance and evolution of software systems; the reuse of software system components by identifying and comparing requirements of new and existing systems; the testing of software system components; and system inspection, by indicating alternatives and compromises made during development. Traceability enables system acceptance by allowing users to better understand the system and contributes to clear and consistent system documentation. Over the last few years, the software and system engineering communities have developed a large number of approaches and techniques to address various aspects of traceability. Research into software traceability has been mainly concerned with the study and definition of different types of traceability relations; support for the generation of traceability relations; development of architectures, tools, and environments for the representation and maintenance of traceability relations; and empirical investigations into organisational practices regarding the establishment and deployment of traceability relations in the software development life cycle. However, despite its importance and the work resulted from numerous years of research, empirical studies of traceability needs and practices in industrial organisations have indicated that traceability support is not always satisfactory. As a result, traceability is rarely established in existing industrial settings. In this article, we present a roadmap of research and practices related to software traceability and identify issues that are still open for further research. Our roadmap is organised according to the main topics that have been the focus of software traceability research.
Determining the Cost-Quality Trade-Off for Automated Software Traceability
- ASE
, 2005
"... Major software development standards mandate the establishment of trace links among software artifacts such as requirements, architectural elements, or source code without explicitly stating the required level of detail of these links. However, the level of detail vastly affects the cost and quality ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
Major software development standards mandate the establishment of trace links among software artifacts such as requirements, architectural elements, or source code without explicitly stating the required level of detail of these links. However, the level of detail vastly affects the cost and quality of trace link generation and important applications of trace analysis such as conflict analysis, consistency checking, or change impact analysis. In this paper, we explore these cost-quality trade-offs with three case study systems from different contexts – the open-source ArgoUML modeling tool, an industrial route-planning system, and a movie player. We report the cost-quality trade-off of automated trace generation with the Trace Analyzer approach and discuss its expected impact onto several applications that consume its trace information. In the study we explore simple techniques to predict and manipulate the cost-benefit trade-off with threshold-based filtering. We found that (a) 80 % of the benefit comes from only 20 % of the cost and (b) weak trace links are predominantly false trace links and can be efficiently eliminated through thresholds.
VbTrace: Using View-based and Model-driven Development to Support Traceability In Process-driven SOAs
- SPECIAL ISSUE ON TRACEABILITY IN MODEL-DRIVEN ENGINEERING
"... ... there are a number of important factors that hinder the traceability between design and implementation artifacts. First of all, there are no explicit links between process design and implementation languages not only due to the differences of syntax and semantics but also the differences of gran ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
... there are a number of important factors that hinder the traceability between design and implementation artifacts. First of all, there are no explicit links between process design and implementation languages not only due to the differences of syntax and semantics but also the differences of granularity. The second factor is the complexity caused by tangled process concerns that multiplies the difficulty of analyzing and understanding the trace dependencies. Finally, there is a lack of adequate tool support for establishing and maintaining the trace dependencies between process designs and implementations. We present in this article a view-based, model-driven traceability approach that tackles these challenges. Our approach supports (semi-)automatically eliciting and (semi-)formalizing trace dependencies among process development artifacts at different levels of granularity and abstraction. A proof-of-concept tool support has been realized, and its functionality is illustrated via an industrial case study.
Incremental Latent Semantic Indexing for Effective, Automatic Traceability Link Evolution Management
, 2008
"... Maintaining traceability links among software artifacts is particularly important for many software engineering tasks. Even though automatic traceability link recovery tools are successful in identifying the semantic connections among software artifacts produced during software development, no exist ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Maintaining traceability links among software artifacts is particularly important for many software engineering tasks. Even though automatic traceability link recovery tools are successful in identifying the semantic connections among software artifacts produced during software development, no existing traceability link management approach can effectively and automatically deal with software evolution. We propose a technique to automatically manage traceability link evolution and update the links in evolving software. Our novel technique, called incremental Latent Semantic Indexing (iLSI), allows the fast and low-cost LSI computation for the update of traceability links by analyzing the changes to software artifacts and by re-using the results from previous LSI computation before the changes. We present our iLSI technique, and describe a complete automatic traceability link evolution management tool, TLEM, that is capable of interactively and quickly updating traceability links in the presence of evolving software artifacts. We report on our empirical evaluation with various experimental studies to assess the performance and usefulness of our approach.
Using fine-grained differencing to evolve traceability links
- In GCT’07
, 2007
"... An approach to support the sustained evolution of traceability links is proposed and outlined. A fine-grained differencing approach on the link endpoints is used to maintain the links in a scalable manner. Here scalable refers to large software systems with thousands of links. Details of the link mo ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
An approach to support the sustained evolution of traceability links is proposed and outlined. A fine-grained differencing approach on the link endpoints is used to maintain the links in a scalable manner. Here scalable refers to large software systems with thousands of links. Details of the link model and representation are given followed by the process used to evolve traceability links.
Effort and Quality of Recovering Requirements-to- Code Traces: Two Exploratory Experiments
"... Abstract — Trace links between requirements and code are essential for many software development and maintenance activities. Despite significant advances in traceability research, creating links remains a human-intensive activity and surprisingly little is known about how humans perform basic tracin ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract — Trace links between requirements and code are essential for many software development and maintenance activities. Despite significant advances in traceability research, creating links remains a human-intensive activity and surprisingly little is known about how humans perform basic tracing tasks. We investigate fundamental research questions regarding the effort and quality of recovering traces between requirements and code. Our paper presents two exploratory experiments conducted with 100 subjects (half with industrial experience, the other half without) who recovered trace links for two open source software systems in a controlled environment and cast over 125.000 votes. In the first experiment, subjects recovered trace links between the two systems ’ requirements and implementation classes. In the second experiment trace links were established between requirements and implementation methods. In order to assess the validity of the trace links cast by subjects, key developers of the two software systems participated in our research and provided benchmarks. Our study yields surprising observations: trace capture is surprisingly fast and can be done within minutes even for larger classes; the quality of the captured trace links, while good, does not improve with higher trace effort; it is not harder though slightly more expensive to recover the trace links for larger, more complex classes; and, trace capture should be performed by multiple engineers because “hard-to-do ” traces differed per subject and were not uniform to certain parts of code. These findings open interesting possibilities for future research.
Comprehensive model integration for dependency identification with EMFTrace
- In Joint Proc. of the First Int. Workshop on Model-Driven Software Migration (MDSM 2011) and the Fifth Int. Workshop on Software Quality and Maintainability (SQM 2011
, 2011
"... Abstract—As model-based software development becomes increasingly important, the number of models to express various aspects of software at different levels of abstraction raises. Meanwhile evolutionary development and continuous changes demand for explicit dependencies between involved models to fa ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Abstract—As model-based software development becomes increasingly important, the number of models to express various aspects of software at different levels of abstraction raises. Meanwhile evolutionary development and continuous changes demand for explicit dependencies between involved models to facilitate change impact analysis, software comprehension, or coverage and consistency checks. However, there are no comprehensive approaches supporting models, dependencies, changes, and related information throughout the entire software development process. The approach presented in this paper provides a unified and modelspanning concept with a repository for model integration, model versioning, and dependency identification among models utilizing traceability techniques, enhanced with analytic capabilities. The identification is based on a rule set to provide high values for precision and recall. The approach is implemented in a tool called EMFTrace, which is based on Eclipse technology and supports different CASE tools for modeling. Keywords-model dependencies; model integration; model repository; meta model; traceability I.
Refining the Prometheus Methodology with i
- In Proceedings of the Third International Workshop on Agent-Oriented Methodologies, held at OOPSLA
, 2004
"... Abstract. In the last years agent oriented paradigm has been extensibility used to support complex, distributed, open, dynamic, unpredictable, heterogeneous, and highly interactive software system applications. One of the main problems to the success of agent oriented approaches in industrial settin ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. In the last years agent oriented paradigm has been extensibility used to support complex, distributed, open, dynamic, unpredictable, heterogeneous, and highly interactive software system applications. One of the main problems to the success of agent oriented approaches in industrial settings is the lack of mature software development methodologies to assist with the whole life cycle of software system development. Prometheus methodology has been developed to overcome the problem above. However, Prometheus does not offer fully support for early requirements specification. In this paper we present an approach to enhance Prometheus by using i * technique to allow both goals and business modelling. We describe some guidelines of how to generate Prometheus artefacts from i*. Our approach is illustrated through a BookStore example. 1
International Journal of Software Engineering and Knowledge Engineering
- International Journal of Software Engineering and Knowledge Engineering
, 1967
"... this paper we present a tool-supported approach that requires the designer to specify some trace dependencies but eases trace acquisition by generating others automatically ..."
Abstract
- Add to MetaCart
this paper we present a tool-supported approach that requires the designer to specify some trace dependencies but eases trace acquisition by generating others automatically
Reuse or Rewrite: Combining Textual, Static, and Dynamic Analyses to Assess the Cost of Keeping a System Up-to-date
"... old: (1) when no comments or documentation exist, it is difficult for developers to understand how a system works; (2) when no requirements exist, it is difficult to know what the system actually does. We present a method, named ReORe (Reuse or Rewrite) that assists developers in recovering requirem ..."
Abstract
- Add to MetaCart
old: (1) when no comments or documentation exist, it is difficult for developers to understand how a system works; (2) when no requirements exist, it is difficult to know what the system actually does. We present a method, named ReORe (Reuse or Rewrite) that assists developers in recovering requirements for a competitor system and in deciding if they should reuse parts of their existing system or rewrite it from scratch. Our method requires source code and executable for the system and assumes that requirements are preliminarily recovered. We apply ReORe to Lynx, a Web browser written in C. We provide evidence of ReORe accuracy: 56 % for validation based on textual and static analysis and 94% for the final validation using dynamic analysis. Keywords: Maintenance, reuse, requirements, documentation, static analysis, dynamic analysis, feature

