31 research outputs found

    Spectrum-based feature localization: A case study using ArgoUML

    Get PDF
    Feature localization (FL) is a basic activity in re-engineering legacy systems into software product lines. In this work, we explore the use of the Spectrum-based localization technique for this task. This technique is traditionally used for fault localization but with practical applications in other tasks like the dynamic FL approach that we propose. The ArgoUML SPL benchmark is used as a case study and we compare it with a previous hybrid (static and dynamic) approach from which we reuse the manual and testing execution traces of the features. We conclude that it is feasible and sound to use the Spectrum-based approach providing promising results in the benchmark metrics

    Konsistente Feature Modell gesteuerte Softwareproduktlinien Evolution

    Get PDF
    SPLs are an approach to manage families of closely related software systems in terms of configurable functionality. A feature model captures common and variable functionalities of an SPL on a conceptual level in terms of features. Reusable artifacts, such as code, documentation, or tests are related to features using a feature-artifact mapping. A product of an SPL can be derived by selecting features in a configuration. Over the course of time, SPLs and their artifacts are subject to change. As SPLs are particularly complex, their evolution is a challenging task. Consequently, SPL evolution must be thoroughly planned well in advance. However, plans typically do not turn out as expected and, thus, replanning is required. Feature models lean themselves for driving SPL evolution. However, replanning of feature-model evolution can lead to inconsistencies and feature-model anomalies may be introduced during evolution. Along with feature-model evolution, other SPL artifacts, especially configurations, need to consistently evolve. The work of this thesis provides remedy to the aforementioned challenges by presenting an approach for consistent evolution of SPLs. The main contributions of this thesis can be distinguished into three key areas: planning and replanning feature-model evolution, analyzing feature-model evolution, and consistent SPL artifact evolution. As a starting point for SPL evolution, we introduce Temporal Feature Models (TFMs) that allow capturing the entire evolution timeline of a feature model in one artifact, i.e., past history, present changes, and planned evolution steps. We provide an execution semantics of feature-model evolution operations that guarantees consistency of feature-model evolution timelines. To keep feature models free from anomalies, we introduce analyses to detect anomalies in feature-model evolution timelines and explain these anomalies in terms of their causing evolution operations. To enable consistent SPL artifact evolution, we generalize the concept of modeling evolution timelines in TFMs to be applicable for any modeling language. Moreover, we provide a methodology that enables involved engineers to define and use guidance for configuration evolution.Softwareproduktlinien (SPLs) ermöglichen es, konfigurierbare Funktionalität von eng verwandten Softwaresystemen zu verwalten. In einem Feature Modell werden gemeinsame und variable Funktionalitäten einer SPL auf Basis abstrakter Features modelliert. Wiederverwendbare Artefakte werden in einem Feature-Artefakt Mapping Features zugeordnet. Ein Produkt einer SPL kann abgeleitet werden, indem Features in einer Konfiguration ausgewählt werden. Im Laufe der Zeit müssen sich SPLs und deren Artefakte verändern. Da SPLs ganze Softwarefamilien modellieren, ist deren Evolution eine besonders herausfordernde Aufgabe, die gründlich im Voraus geplant werden muss. Feature Modelle eignen sich besonders als Planungsmittel einer SPL. Umplanung von Feature Modell Evolution kann jedoch zu Inkonsistenzen führen und Feature Modell Anomalien können im Zuge der Evolution eingeführt werden. Im Anschluss an die Feature Modell Evolution muss die Evolution anderer SPL Artefakte, insbesondere Konfigurationen, konsistent modelliert werden. In dieser Arbeit wird ein Ansatz zur konsistenten Evolution von SPLs vorgestellt, der die zuvor genannten Herausforderungen adressiert. Die Beiträge dieser Arbeit lassen sich in drei Kernbereiche aufteilen: Planung und Umplanung von Feature Modell Evolution, Analyse von Feature Modell Evolution und konsistente Evolution von SPL Artefakten. Temporal Feature Models (TFMs) werden als Startpunkt für SPL Evolution eingeführt. In einem TFM wird die gesamte Evolutionszeitlinie eines Feature Modells in einem Artefakt abgebildet, was sowohl vergangene Änderungen, den aktuellen Zustand, als auch geplante Änderungen beinhaltet. Auf Basis einer Ausführungssemantik wird die Konsistenz von Feature Modell Evolutionszeitlinien sichergestellt. Um Feature Modelle frei von Anomalien zu halten, werden Analysen eingeführt, welche die gesamte Evolutionszeitlinie eines Feature Modells auf Anomalien untersucht und diese mit verursachenden Evolutionsoperationen erklärt. Das Konzept zur Modellierung von Feature Modell Evolutionszeitlinien aus TFMs wird verallgemeinert, um die gesamte Evolution von Modellen beliebiger Modellierungssprachen spezifizieren zu können. Des Weiteren wird eine Methodik vorgestellt, die beteiligten Ingenieuren eine geführte Evolution von Konfigurationen ermöglicht

    Modelling, Reverse Engineering, and Learning Software Variability

    Get PDF
    The society expects software to deliver the right functionality, in a short amount of time and with fewer resources, in every possible circumstance whatever are the hardware, the operating systems, the compilers, or the data fed as input. For fitting such a diversity of needs, it is common that software comes in many variants and is highly configurable through configuration options, runtime parameters, conditional compilation directives, menu preferences, configuration files, plugins, etc. As there is no one-size-fits-all solution, software variability ("the ability of a software system or artifact to be efficiently extended, changed, customized or configured for use in a particular context") has been studied the last two decades and is a discipline of its own. Though highly desirable, software variability also introduces an enormous complexity due to the combinatorial explosion of possible variants. For example, the Linux kernel has 15000+ options and most of them can have 3 values: "yes", "no", or "module". Variability is challenging for maintaining, verifying, and configuring software systems (Web applications, Web browsers, video tools, etc.). It is also a source of opportunities to better understand a domain, create reusable artefacts, deploy performance-wise optimal systems, or find specialized solutions to many kinds of problems. In many scenarios, a model of variability is either beneficial or mandatory to explore, observe, and reason about the space of possible variants. For instance, without a variability model, it is impossible to establish a sampling strategy that would satisfy the constraints among options and meet coverage or testing criteria. I address a central question in this HDR manuscript: How to model software variability? I detail several contributions related to modelling, reverse engineering, and learning software variability. I first contribute to support the persons in charge of manually specifying feature models, the de facto standard for modeling variability. I develop an algebra together with a language for supporting the composition, decomposition, diff, refactoring, and reasoning of feature models. I further establish the syntactic and semantic relationships between feature models and product comparison matrices, a large class of tabular data. I then empirically investigate how these feature models can be used to test in the large configurable systems with different sampling strategies. Along this effort, I report on the attempts and lessons learned when defining the "right" variability language. From a reverse engineering perspective, I contribute to synthesize variability information into models and from various kinds of artefacts. I develop foundations and methods for reverse engineering feature models from satisfiability formulae, product comparison matrices, dependencies files and architectural information, and from Web configurators. I also report on the degree of automation and show that the involvement of developers and domain experts is beneficial to obtain high-quality models. Thirdly, I contribute to learning constraints and non-functional properties (performance) of a variability-intensive system. I describe a systematic process "sampling, measuring, learning" that aims to enforce or augment a variability model, capturing variability knowledge that domain experts can hardly express. I show that supervised, statistical machine learning can be used to synthesize rules or build prediction models in an accurate and interpretable way. This process can even be applied to huge configuration space, such as the Linux kernel one. Despite a wide applicability and observed benefits, I show that each individual line of contributions has limitations. I defend the following answer: a supervised, iterative process (1) based on the combination of reverse engineering, modelling, and learning techniques; (2) capable of integrating multiple variability information (eg expert knowledge, legacy artefacts, dynamic observations). Finally, this work opens different perspectives related to so-called deep software variability, security, smart build of configurations, and (threats to) science

    An HAROS extension for variability aware ROS code analysis

    Get PDF
    Dissertação de mestrado integrado em Engenharia InformáticaHuman kind has proven how challenging and volatile the technological market can be, growing at an exponential rate. The benefits of such evolution are directly reflected in many ways in our everyday life. Robots are a clear example of an advanced technology that may be completely integrated in our societies in a near future, hopefully in such a way that their actions will be considered as trustable as human actions are. These machines are permanently relying on software, which has a development process that many times cannot be considered trustworthy. This may cause the final product to have multiple malfunctions, which in turn may result in tremendous economic losses or even harm human lives. Bearing this in mind, software industry and academia have been trying to establish new standards and techniques that considerably lower the occurrence of the latter problems. The solution is to apply certain formal methodologies and tools when developing software, namely when developing critical software that controls machinery used, for example, in healthcare sector, aeronautical industry, or in military operations. The present dissertation aims to explore and improve techniques and tools to help devel opers in the process of building robotic systems, namely those developed with the Robot Operating System (ROS). The focus will be on a specific framework named HAROS, which performs different types of analyses of ROS-based code. Although it has a solid set of useful features, some need to be upgraded to enhance efficiency and also to promote a better experi ence to their users, in particular when the the software has many variants, as is often the case with robotic applications. The proposed extension offers ROS and HAROS users a practical methodology that, by merging existing ROS and Software Product Line (SPL) development tools and concepts, considerably improves the understanding of the variability in a robotic application, without requiring a steep learning curve.A humanidade tem provado o quão desafiador e volátil consegue ser o mercado tecnológico, que cresce a um ritmo exponencial. Os benefícios dessa evolução refletem-se diretamente de várias formas no nosso quotidiano. Os robôs são um exemplo evidente de uma tecnolo gia vanguardista que num futuro próximo poderá estar totalmente integrada nas nossas sociedades, de tal forma que as suas ações serão consideradas tão confiáveis quanto as dos seres humanos. Não obstante, estas máquinas estão constantemente dependentes de software cujo processo de desenvolvimento é muitas vezes pouco credível. Isto leva a que o produto final tenha muitas anomalias, que por sua vez podem resultar em prejuízos económicos avultados ou até pôr em perigo vidas humanas. Tendo isso em conta, a indústria de software e a academia têm tentado estabelecer novos padrões e técnicas que reduzem consideravelmente a ocorrência de problemas futuros. A solução passa por aplicar determinadas metodologias e ferramentas formais durante o de senvolvimento de software, nomeadamente no desenvolvimento de software sensível que controla aparelhos usados, por exemplo, no setor da saúde, na indústria aeronáutica, ou até em operações militares. O propósito desta dissertação é explorar e melhorar técnicas e ferramentas que auxiliem os técnicos no processo de construção de sistemas robóticos, nomeadamente os desenvolvidos com o Robot Operating System (ROS). O foco vai para uma ferramenta chamada HAROS, que exerce diferentes tipos de análises em código ROS. Apesar da mesma já ter um conjunto consistente de funcionalidades, algumas precisam de ser otimizadas para melhorar a eficiência e também para promover uma melhor experiência aos seus utilizadores, em particular quando o software tem muitas variantes, como é frequentemente o caso nas aplicações robóticas. A extensão desenvolvida oferece aos utilizadores do ROS e do HAROS uma metodologia prática que, combinando ferramentas e conceitos já usados no ROS e no desenvolvimento de Linhas de Produtos de Software (LPSs), melhora consideravelmente a compreensão da variabilidade existente numa aplicação robótica, não requerendo uma curva de aprendizagem muito elevada.This thesis was developed in the context of the SAFER project, financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitive ness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project PTDC/CCI-INF/29583/2017 (POCI-01-0145-FEDER-029583)

    INNODOCT/20. International Conference on Innovation, Documentation and Education

    Full text link
    La conferencia tiene como objetivo proporcionar un foro para académicos y profesionales que se reúnen para compartir la investigación, discutir ideas, proyectos actuales, resultados y desafíos relacionados con las Nuevas Tecnologías de la Información y Comunicación, Innovaciones y Metodologías aplicadas a la Educación y la Investigación.Garrigós Simón, FJ.; Estelles Miguel, S.; Lengua Lengua, I.; Narangajavana, Y. (2021). INNODOCT/20. International Conference on Innovation, Documentation and Education. Editorial Universitat Politècnica de València. http://hdl.handle.net/10251/161668EDITORIA

    History of Construction Cultures Volume 2

    Get PDF
    Volume 2 of History of Construction Cultures contains papers presented at the 7ICCH – Seventh International Congress on Construction History, held at the Lisbon School of Architecture, Portugal, from 12 to 16 July, 2021. The conference has been organized by the Lisbon School of Architecture (FAUL), NOVA School of Social Sciences and Humanities, the Portuguese Society for Construction History Studies and the University of the Azores. The contributions cover the wide interdisciplinary spectrum of Construction History and consist on the most recent advances in theory and practical case studies analysis, following themes such as: - epistemological issues; - building actors; - building materials; - building machines, tools and equipment; - construction processes; - building services and techniques ; -structural theory and analysis ; - political, social and economic aspects; - knowledge transfer and cultural translation of construction cultures. Furthermore, papers presented at thematic sessions aim at covering important problematics, historical periods and different regions of the globe, opening new directions for Construction History research. We are what we build and how we build; thus, the study of Construction History is now more than ever at the centre of current debates as to the shape of a sustainable future for humankind. Therefore, History of Construction Cultures is a critical and indispensable work to expand our understanding of the ways in which everyday building activities have been perceived and experienced in different cultures, from ancient times to our century and all over the world

    History of Construction Cultures Volume 2

    Get PDF
    Volume 2 of History of Construction Cultures contains papers presented at the 7ICCH – Seventh International Congress on Construction History, held at the Lisbon School of Architecture, Portugal, from 12 to 16 July, 2021. The conference has been organized by the Lisbon School of Architecture (FAUL), NOVA School of Social Sciences and Humanities, the Portuguese Society for Construction History Studies and the University of the Azores. The contributions cover the wide interdisciplinary spectrum of Construction History and consist on the most recent advances in theory and practical case studies analysis, following themes such as: - epistemological issues; - building actors; - building materials; - building machines, tools and equipment; - construction processes; - building services and techniques ; -structural theory and analysis ; - political, social and economic aspects; - knowledge transfer and cultural translation of construction cultures. Furthermore, papers presented at thematic sessions aim at covering important problematics, historical periods and different regions of the globe, opening new directions for Construction History research. We are what we build and how we build; thus, the study of Construction History is now more than ever at the centre of current debates as to the shape of a sustainable future for humankind. Therefore, History of Construction Cultures is a critical and indispensable work to expand our understanding of the ways in which everyday building activities have been perceived and experienced in different cultures, from ancient times to our century and all over the world

    ISCHE 42 - Looking from Above and Below:Rethinking the Social in the History of Education – Book of Abstracts

    Get PDF
    corecore