3,520 research outputs found
Traceability support in software product lines
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do grau de Mestre em Engenharia Informática.Traceability is becoming a necessary quality of any modern software system. The
complexity in modern systems is such that, if we cannot rely on good techniques and
tools it becomes an unsustainable burden, where software artifacts can hardly be linked
to their initial requirements.
Modern software systems are composed by a many artifacts (models, code, etc.).
Any change in one of them may have repercussions on many components. The
assessment of this impact usually comes at a high cost and is highly error-prone. This
complexity inherent to software development increases when it comes to Software
Product Line Engineering. Traceability aims to respond to this challenge, by linking all
the software artifacts that are used, in order to reason about how they influence each
others.
We propose to specify, design and implement an extensible Traceability Framework
that will allow developers to provide traceability for a product line, or the possibility to
extend it for other development scenarios. This MSc thesis work is to develop an
extensible framework, using Model-Driven techniques and technologies, to provide
traceability support for product lines. We also wish to provide basic and advanced
traceability queries, and traceability views designed for the needs of each user
API design for machine learning software: experiences from the scikit-learn project
Scikit-learn is an increasingly popular machine learning li- brary. Written
in Python, it is designed to be simple and efficient, accessible to
non-experts, and reusable in various contexts. In this paper, we present and
discuss our design choices for the application programming interface (API) of
the project. In particular, we describe the simple and elegant interface shared
by all learning and processing units in the library and then discuss its
advantages in terms of composition and reusability. The paper also comments on
implementation details specific to the Python ecosystem and analyzes obstacles
faced by users and developers of the library
Building an Emulation Environment for Cyber Security Analyses of Complex Networked Systems
Computer networks are undergoing a phenomenal growth, driven by the rapidly
increasing number of nodes constituting the networks. At the same time, the
number of security threats on Internet and intranet networks is constantly
growing, and the testing and experimentation of cyber defense solutions
requires the availability of separate, test environments that best emulate the
complexity of a real system. Such environments support the deployment and
monitoring of complex mission-driven network scenarios, thus enabling the study
of cyber defense strategies under real and controllable traffic and attack
scenarios. In this paper, we propose a methodology that makes use of a
combination of techniques of network and security assessment, and the use of
cloud technologies to build an emulation environment with adjustable degree of
affinity with respect to actual reference networks or planned systems. As a
byproduct, starting from a specific study case, we collected a dataset
consisting of complete network traces comprising benign and malicious traffic,
which is feature-rich and publicly available
Evolution of Ada technology in the flight dynamics area: Implementation/testing phase analysis
An analysis is presented of the software engineering issues related to the use of Ada for the implementation and system testing phases of four Ada projects developed in the flight dynamics area. These projects reflect an evolving understanding of more effective use of Ada features. In addition, the testing methodology used on these projects has changed substantially from that used on previous FORTRAN projects
- …