6 research outputs found

    Software model refactoring based on performance analysis: better working on software or performance side?

    Full text link
    Several approaches have been introduced in the last few years to tackle the problem of interpreting model-based performance analysis results and translating them into architectural feedback. Typically the interpretation can take place by browsing either the software model or the performance model. In this paper, we compare two approaches that we have recently introduced for this goal: one based on the detection and solution of performance antipatterns, and another one based on bidirectional model transformations between software and performance models. We apply both approaches to the same example in order to illustrate the differences in the obtained performance results. Thereafter, we raise the level of abstraction and we discuss the pros and cons of working on the software side and on the performance side.Comment: In Proceedings FESCA 2013, arXiv:1302.478

    Automated Testing: Requirements Propagation via Model Transformation in Embedded Software

    Get PDF
    Testing is the most common activity to validate software systems and plays a key role in the software development process. In general, the software testing phase takes around 40-70% of the effort, time and cost. This area has been well researched over a long period of time. Unfortunately, while many researchers have found methods of reducing time and cost during the testing process, there are still a number of important related issues such as generating test cases from UCM scenarios and validate them need to be researched. As a result, ensuring that an embedded software behaves correctly is non-trivial, especially when testing with limited resources and seeking compliance with safety-critical software standard. It thus becomes imperative to adopt an approach or methodology based on tools and best engineering practices to improve the testing process. This research addresses the problem of testing embedded software with limited resources by the following. First, a reverse-engineering technique is exercised on legacy software tests aims to discover feasible transformation from test layer to test requirement layer. The feasibility of transforming the legacy test cases into an abstract model is shown, along with a forward engineering process to regenerate the test cases in selected test language. Second, a new model-driven testing technique based on different granularity level (MDTGL) to generate test cases is introduced. The new approach uses models in order to manage the complexity of the system under test (SUT). Automatic model transformation is applied to automate test case development which is a tedious, error-prone, and recurrent software development task. Third, the model transformations that automated the development of test cases in the MDTGL methodology are validated in comparison with industrial testing process using embedded software specification. To enable the validation, a set of timed and functional requirement is introduced. Two case studies are run on an embedded system to generate test cases. The effectiveness of two testing approaches are determined and contrasted according to the generation of test cases and the correctness of the generated workflow. Compared to several techniques, our new approach generated useful and effective test cases with much less resources in terms of time and labor work. Finally, to enhance the applicability of MDTGL, the methodology is extended with the creation of a trace model that records traceability links among generated testing artifacts. The traceability links, often mandated by software development standards, enable the support for visualizing traceability, model-based coverage analysis and result evaluation

    Systematische Prozessunterstützung für die Entwicklung laufzeitkritischer Softwaresysteme: Systematische Prozessunterstützung für die Entwicklung laufzeitkritischer Softwaresysteme: PROKRIS-Methodik und -Framework

    Get PDF
    In vielen Bereichen des täglichen Lebens, angefangen vom Online-Banking bis hin zur Steuerung im Flugzeug, kommt Software mit laufzeitkritischen nicht-funktionalen Eigenschaften (NFE) zum Einsatz. Die Erfüllung der NFE spielt in diesen Anwendungen eine zentrale Rolle. Um dies zu erreichen, ist eine systematische und zielorientierte Behandlung dieser Anforderungen während der Entwicklung zwingend erforderlich. NFE zeichnen sich im Gegensatz zu funktionalen Eigenschaften durch besondere Merkmale aus, die ein adaptives Vorgehen zur Definition des Entwicklungsprozesses erzwingen. In der Arbeit wird eine Methodik zur kontextbasierten Anpassung von Vorgehensmodellen an laufzeitkritische NFE auf der Basis von Prozessmustern sowie das PROKRIS-Framework als unterstützende Umgebung vorgestellt

    Abstraction-Raising Transformation for Generating Analysis Models

    No full text
    corecore