P199 - Software Engineering 2012 - Workshopband

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 14
  • Konferenzbeitrag
    Supporting the context establishment according to ISO 27005 using patterns
    (Software Engineering 2012. Workshopband, 2012) Beckers, Kristian; Faßbender, Stephan; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    The documentation of an information and communication system according to the requirements of the ISO 27005 standard is difficult, because the standard only provides sparse descriptions. We propose the use of specific patterns for the ISO 27005 standard, which can be instantiated for any given information and communication system. Each of our pattern will cover a section of the standard. In this paper we present one pattern for Section 7 of the standard, the context establishment. This is one of the initial steps of the standards and it is the input for following steps, e.g., the asset identification.
  • Konferenzbeitrag
    Fehlalarmfreie Abstraktion in ISO-C konformer Semantik
    (Software Engineering 2012. Workshopband, 2012) Richter, Dirk; Hoffmann, Roberto; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    Viele Aussagen zum Programmverhalten sind in turingmächtigen Programmiersprachen unentscheidbar (Rice Theorem). Mittels Abstraktion vom Programmverhalten können nicht-turingmächtige Modelle automatisch erzeugt werden. Modelle in Form von symbolischen Kellersystemen (SPDS) erlauben eine so präzise Darstellung des Programmverhaltens, sodass eine ISO-C konforme Semantik möglich ist [RB12, KZR09]. Allerdings führen präzisere Darstellungen stets auch zu komplexeren und umfangreicheren Modellen. Dies erschwert Software-Modellprüfung, modellbasiertes Testen und Testdatenund Codegenerierung. Mehr Abstraktion führt hingegen zu kleineren Modellen, allerdings auch zu mehr Fehlalarmen. Ziel dieser Arbeit ist es, bezüglich temporaler Aussagen unwichtige Teile eines SPDS zu identifizieren und von diesen Teilen so zu abstrahieren, dass keine Fehlalarme entstehen.
  • Konferenzbeitrag
    Exploring software variance with hypermodelling – an exemplary approach
    (Software Engineering 2012. Workshopband, 2012) Frey, Tim; Köppen, Veit; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    Framework manufacturers face the challenge to determine which parts of frameworks are used and varied. Application developers want to know on which framework elements their application is depending. Currently, programs need to be parsed to extract information about framework usage what consumes time and effort and makes information mining inflexible. Hypermodelling utilizes Data Warehouse technologies for source code investigations to overcome the current limitations. In this paper, we demonstrate that Hypermodelling is suitable to explore software variance. We present reports based on real application data of one project example to reveal multiple facts about the software variance. We show visualizations at different granularity levels. This supports our theory that Hypermodelling can be used to explore software variance in an easy way.
  • Konferenzbeitrag
    Making MPI intelligent
    (Software Engineering 2012. Workshopband, 2012) Tetzlaff, Dirk; Glesner, Sabine; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    Mapping parallel applications to multi-processor architectures requires information about the execution times of the concurrent processes to find an optimal allocation and must take into account the interprocessor communication at runtime, whose overheads have emerged as the major performance limitation. However, both information cannot be statically known in advance. In this paper we present a sophisticated approach for mapping parallel MPI applications to concurrent architectures using machine learning techniques. This automatically generates heuristics that provide the compiler with knowledge of the considered runtime behavior, hence yielding more precise heuristics than those generated by pure static analyses. The heuristics can be used to direct the runtime environment of MPI, which enables the reallocation of processes to other processors at runtime and, furthermore, results in a better initial allocation of MPI processes.
  • Konferenzbeitrag
    Architecture-aware cost modelling for parallel performance portability
    (Software Engineering 2012. Workshopband, 2012) Belikov, Evgenij; Loidl, Hans-Wolfgang; Michaelson, Greg; Trinder, Phil; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    Languages for efficient parallel programming need to achieve high performance portability in order to harness the power offered by rapidly evolving parallel architectures. We use a combination of high-level architecture-aware cost modelling with a low-level, explicit control of coordination as a programming model to improve performance portability. We explore and quantify the impact of heterogeneity in modern parallel architectures on the performance of parallel programs on a range of clusters of multi-cores, varying in architectural parameters such as processor speed, memory size and interconnection speed. Additionally, we develop several formal cost models and automatically use these architectural characteristics to determine suitable granularity and work placement. The effectiveness of such cost-model-driven management of parallelism on common-place cluster hardware is demonstrated by measuring the performance of a parallel sparse matrix multiplication, implemented in C+MPI, on a range of heterogeneous architectures. On a cluster with 16 cores, the speedup increases from 6.2, without any cost model, to 9.1, indicating that even a simple, static cost model is effective in adapting the execution to the target architecture and in significantly improving parallel performance and scalability with negligible overhead.
  • Editiertes Buch
    Software Engineering 2012. Workshopband
    (2012) Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
  • Konferenzbeitrag
    An abstract machine for concurrent haskell with futures
    (Software Engineering 2012. Workshopband, 2012) Sabel, David; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    We show how Sestoft's abstract machine for lazy evaluation of purely functional programs can be extended to evaluate expressions of the calculus CHF – a process calculus that models Concurrent Haskell extended by imperative and implicit futures. The abstract machine is modularly constructed by first adding monadic IO-actions to the machine and then in a second step we add concurrency. Our main result is that the abstract machine coincides with the original operational semantics of CHF, w.r.t. mayand should-convergence.
  • Konferenzbeitrag
    MOSTflexiPL – Modular, Statically Typed, Flexibly Extensible Programming Language
    (Software Engineering 2012. Workshopband, 2012) Heinlein, Christian; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    MOSTflexiPL (oder kurz flexiPL) ist eine momentan in Entwicklung befindliche Programmiersprache, die vom Anwender nahezu beliebig syntaktisch erweitert und angepasst werden kann. Trotz dieser enormen Flexibilität besitzt die Sprache ein statisches Typsystem mit Ähnlichkeiten zu „dependent types“. Die Semantik neu definierter Sprachkonstrukte wird durch eine Abbildung auf bereits vorhandene Konstrukte in der Sprache selbst festgelegt, d. h. es sind weder Eingriffe in Compiler oder Laufzeitsystem noch ein „prozedurales“ Makrosystem wie in Lisp erforderlich. Der Sprachkern, d. h. die Menge der Grundkonstrukte, die sich nicht (sinnvoll) auf andere Konstrukte zurückführen lassen, folgt keinem bestimmten Programmierparadigma. Die meisten Grundkonstrukte sind funktionaler Natur, durch die Bereitstellung von Variablen (d. h. änderbarer Speicherzellen) wird aber auch imperatives Programmieren (im weitesten Sinne) unterstützt. Neben diesen Grundkonstrukten, gibt es eine Sammlung vordefinierter Standardkonstrukte zur Unterstützung unterschiedlicher Programmierstile, die bereits in der Sprache selbst geschrieben sind. MOST- flexiPL-Programme werden durch einen Compiler in assemblerartigen C++- Code übersetzt, der von jedem standardkonformen C++-Compiler in ausführbaren Code übersetzt werden kann. Wenn ein Programm aus mehreren Modulen besteht, können diese unabhängig voneinander übersetzt werden.
  • Konferenzbeitrag
    Search strategies for functional logic programming
    (Software Engineering 2012. Workshopband, 2012) Hanus, Michael; Peemöller, Björn; Reck, Fabian; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    In this paper we discuss our practical experiences with the use of different search strategies in functional logic programs. In particular, we show that complete strategies, like breadth-first search or iterative deepening search, are a viable alternative to incomplete strategies, like depth-first search, that have been favored in the past for logic programming languages.
  • Konferenzbeitrag
    Towards static modular software verification
    (Software Engineering 2012. Workshopband, 2012) Mews, Marcus; Helke, Steffen; Jähnichen, Stefan; Rumpe, Bernhard; Schlingloff, Holger
    The paper presents our first work in progress results of an approach to verify the correct use of software libraries in target projects. Therefor the project's source code is analyzed and checked against the library's behavior specification, called interface grammar. This grammar is formalized using annotated state diagrams, and the verification analysis is based on static control flow, data flow and alias analyses. The paper illustrates the presented approach using a small-sized Java library example. In the end, we give a brief outlook to necessary enhancements.