Learn More
Software traceability is a fundamentally important task in software engineering. The need for automated traceability increases as projects become more complex and as the number of artifacts increases. We propose an automated technique that combines traceability with a machine learning technique known as topic modeling. Our approach automatically records(More)
Heterogeneously-licensed systems pose new challenges to analysts and system architects. Appropriate intellectual property rights must be available for the installed system, but without unnecessarily restricting other requirements, the system architecture, and the choice of components both initially and as it evolves. Such systems are increasingly common and(More)
Automated techniques aid in minimizing the overhead associated with the capture and maintenance of trace links. However, many challenges to automated traceability remain, such as linking heterogeneous artifacts and capturing custom link semantics. In this position paper, we propose a combination of techniques, including prospective link capture, open(More)
The importance of software traceability to software development is recognized by researchers and practitioners; yet, current approaches fall short of providing effective traceability in practice. An analysis of reported difficulties with traceability reveals that interacting factors from the economic, technical, and social perspectives hinder traceability.(More)
Traceability is an important aspect of software development that is often required by various professional standards and government agencies. Yet current industrial approaches do not typically address end-to-end traceability. Moreover, many industry projects become entangled in process overhead and fail to derive much benefit from current traceability(More)
The prevailing approach to free/open source software and licenses has been that each system is developed, distributed, and used under the terms of a single license. But it is increasingly common for information systems and other software to be composed with components from a variety of sources, and with a diversity of licenses. This may result in possible(More)
A substantial number of enterprises and independent software vendors are adopting a strategy in which software-intensive systems are developed with an open architecture (OA) that may contain open source software (OSS) components or components with open APIs. The emerging challenge is to realize the benefits of openness when components are subject to(More)
The role of software ecosystems in the development and evolution of open architecture systems has received insufficient consideration. Such systems are composed of heterogeneously-licensed components , open source or proprietary or both, in an architecture in which evolution can occur by evolving existing components or by replacing them. The software(More)
—Heterogeneously-licensed systems pose new challenges to architects and designers seeking to develop systems with appropriate intellectual property rights and obligations. In the extreme case, license conflicts may prevent a system's legal use. Our previous work showed that rights, obligations, and conflicts can be calculated. But architects benefit from(More)