Auflistung P279 - Software Engineering und Software Management 2018 nach Erscheinungsdatum
1 - 10 von 65
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragUI-Tracer(Software Engineering und Software Management 2018, 2018) Hebig, ReginaThe ability to understand software systems is crucial to identify hidden threats or maintain software systems over many years. Still software comprehension activities take up around 58% of software development time. While most approaches support the comprehension of a software system's code perspective, its connection to the user perspective of is barely explored. We present UI-Tracer, a lightweight support for tracing user interface elements to source code using the version history of a system. The evaluation on two open source systems shows that the approach can cover all UI elements that have been changed or added within the accessible part of the version history. Furthermore, the median numbers of files flagged as potentially responsible for a UI element is 8 and 3 for the two studied systems. Thus, UI-Tracer provides an easy starting ground for developers to identify files relevant for future UI changes.
- KonferenzbeitragProjectional Editing of Product Lines(Software Engineering und Software Management 2018, 2018) Behringer, Benjamin; Palz, Jochen; Berger, ThorstenPublished at International Conference on Software Engineering (ICSE) 2017, main research track. The features of a software product line --a portfolio of system variants --can be realized using various implementation techniques (a.k.a., variability mechanisms). Each technique represents the software artifacts of features differently, typically classified into annotative (e.g., C preprocessor) and modular representations (e.g., feature modules), each with distinct advantages and disadvantages. Annotative representations are easy to realize, but annotations clutter source code and hinder program comprehension. Modular representations support comprehension, but are difficult to realize. Most importantly, to engineer feature artifacts, developers need to choose one representation and adhere to it for evolving and maintaining the same artifacts. We present PEoPL, an approach to combine the advantages of annotative and modular representations. When engineering a feature artifact, developers can choose the most-suited representation and even use different representations in parallel. PEoPL relies on separating a product line into an internal and external representation, the latter by providing editable projections used by the developers. We contribute a programming-language-independent internal representation of variability, five editable projections reflecting different variability representations, a supporting IDE, and a tailoring to Java. We evaluate PEoPL's expressiveness, scalability, and flexibility in eight Java-based product lines, finding that all can be realized, that projections are feasible, and that variant computation is fast (<45ms on average for our largest subject Berkeley DB).
- KonferenzbeitragInner Source in Platform-based Product Engineering(Software Engineering und Software Management 2018, 2018) Riehle, Dirk; Capraro, Maximilian; Kips, Detlef; Horn, LarsDie vorzustellende Veröffentlichung wurde in IEEE Transactions on Software Engineering vol. 42, no. 12 (December 2016), 1162-1177, veröffentlicht. Der Titel lautet Inner Source in Platform-Based Product Engineering. Es folgt der Artikel-Abstract: Inner source is an approach to collaboration across intra-organizational boundaries for the creation of shared reusable assets. Prior project reports on inner source suggest improved code reuse and better knowledge sharing. Using a multiple-case case study research approach, we analyze the problems that three major software development organizations were facing in their product line engineering efforts. We find that a root cause, the separation of product units as profit centers from a platform organization as a cost center, leads to delayed deliveries, increased defect rates, and redundant software components. All three organizations assume that inner source can help solve these problems. The article analyzes the expectations that these companies were having towards inner source and the problems they were experiencing in its adoption. Finally, the article presents our conclusions on how these organizations should adapt their existing engineering efforts.
- KonferenzbeitragErklärungen (nur) bei Bedarf(Software Engineering und Software Management 2018, 2018) Schneider, Kurt
- KonferenzbeitragInnovationsschub - Erfahrungen am Fallbeispiel IT Products(Software Engineering und Software Management 2018, 2018) Rösel, AndreasDas IT Umfeld und die Herausforderungen haben sich verändert. Die Erwartungshaltung der Nutzer hat sich verändert, das zeigt sich in Bereichen wie Nutzerfreundlichkeit, sowie Verfügbarkeit der Anwendung auf mobilen Geräten. Dies ist für die die typische innerbetriebliche Software eine große Herausforderung, die zu meistern einen Kultur"shift" erfordert. Ein Schub hin zu einer neuen , einer stärkeren Innovationskultur. Das Drückt sich schlussendlich in einer höheren -Geschwindigkeit von Innovationszyklen aus und ist oft mit ein einer feineren Granularität von Liefereinheiten verbunden. Wie kommen aber die vielen möglichen Elemente wie agile Methoden, Design-Thinking, Intrapreneurship etc. in einem Unternehmen tatsächlich zur Umsetzung und wie spielen sie zusammen? Diese Aspekte werden im einem aktuellen Fallbeispiel aus einem IT Unternehmen beleuchtet. Dabei liegt unser Fokus auf die firmeninterne Ausrichtung und Innovationskultur, einer Herausforderungen der sich viele Unternehmen heute gegenübersehen.
- KonferenzbeitragSymbolic Execution for Realizability-Checking of Scenario-based Specifications(Software Engineering und Software Management 2018, 2018) Greenyer, Joel; Gutjahr, Timo(Extended abstract of: Greenyer, Joel; Gutjahr, Timo: Symbolic Execution for Realizability-Checking of Scenario-Based Specifications. In: 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS). volume 00, pp. 312–322, Sept. 2017.) Scenario-based specification with the Scenario Modeling Language (SML) is an intuitive approach for formally specifying the behavior of reactive systems. SML is close to how humans conceive and communicate requirements, yet SML is executable and simulation and formal realizability checking can find specification flaws early. The realizability checking complexity is, however, exponential in the number of scenarios and variables. Therefore algorithms relying on explicit-state exploration do not scale and, especially when specifications have message parameters and variables over large domains, fail to unfold their potential. In this paper, we present a technique for the symbolic execution of SML specifications that interprets integer message parameters and variables symbolically. It can be used for symbolic realizability checking and interactive symbolic simulation. We implemented the technique in ScenarioTools. Evaluation shows drastic performance improvements over the explicit-state approach for a range of examples. Moreover, symbolic checking produces more concise counter examples, which eases the comprehension of specification flaws.
- KonferenzbeitragExperiences on Traceability and Consistency Checking across Engineering Tools in an Automation Solution Company(Software Engineering und Software Management 2018, 2018) Demuth, Andreas; Kretschmer, Roland; Tröls, Michael; Kanakis, Georgios; Maes, Davy; Egyed, AlexanderThe engineering of systems is unimaginable without software tools. Engineers use them to capture and analyze engineering problems; specify, implement, test, and maintain engineering solutions, and manage engineering processes. Yet, there is a gap between the capabilities of independently working engineers and the needs of a collaborative engineering team. The existing tool landscape emphasizes the former. Most engineering tools are single-user applications – often of excellent quality but limited in that they support the works of individual engineers and not that of a group of engineers. And herein lies one of the most fundamental problems of software and systems engineering. Engineers know well the engineering knowledge they capture but they often lack awareness of the many implications their work has on other engineers and/or other engineering domains. This is a problem because in today’s engineering projects, companies continuously have to adapt their systems to changing customer or market requirements. This requires a flexible, iterative development process in which different parts of the system under construction are built and updated concurrently. However, concurrent engineering is quite problematic in domains where different engineering domains and different engineering tools come together. In this paper, we discuss experiences with Van Hoecke Automation, a leading company in the areas of production automation and product processing, in maintaining the consistency between electrical models and the corresponding software controller when both are subject to continuous change. The paper discusses how we let engineers describe the relationships between electrical model and software code in form of links and consistency rules; and how through continuous consistency checking our approach then notified those engineers of the erroneous impact of changes in either electrical model or code.
- KonferenzbeitragShifting Quality Assurance of Machine Learning Algorithms to Live Systems(Software Engineering und Software Management 2018, 2018) Auer, Florian; Felderer, MichaelA fundamental weakness of existing solutions to assess the quality of machine learning algorithms is the assumption that test environments sufficiently mimic the later application. Given the data dependent behavior of these algorithms, only limited reasoning about their later performance is possible. Thus, meaningful quality assurance is not possible with test environments. A shift from the traditional testing environment to the live system is needed. Thus, costly test environments are replaced with available live systems that constantly execute the algorithm.
- Konferenzbeitrag1st Workshop on Software Engineering for Applied Embedded Real-Time Systems (SEERTS)(Software Engineering und Software Management 2018, 2018) Höttger, Robert; Teßmer, JörgSoftware engineering for research-intensive domains such as driver-assisted systems or autonomous driving in the automotive industry increasingly require highly sophisticated architectures as well as an optimized, safe, and secure interaction of a large number of actuators, sensors, and networked software components. In addition, connectivity, electric mobility, and heterogeneous development processes introduce new challenges for developers. The corresponding requirements in terms of real-time, causality, security, modularity, scalability or the use of various standards require appropriate domain-specific tools. Model-driven software development often plays an essential role for such tools. The SEERTS Workshop presents adequate technologies for the consideration of diverse and specific requirements within the embedded real-time domain (e.g. for robotics, automotive systems, etc.) and gives insights into their utilization in industrial applications.
- KonferenzbeitragUsing Architecture Knowledge to Improve Automated Software Architecture Design Space Exploration(Software Engineering und Software Management 2018, 2018) Busch, Axel; Koziolek, AnneDie Qualität eines Software-Systems hängt zum großen Teil von der Güte seiner zugrundeliegenden Software-Architektur ab. Während des Software-Entwicklungsprozesses müssen Entwickler häufig Kompromisse zwischen verschiedenen Qualitätsattributen eingehen. In aller Regel stehen einige dieser Qualitätsattribute miteinander in Konflikt. Beispielsweise kann häufig ein besseres Antwortzeitverhalten des Systems nur mit höheren Kosten bei der Entwicklung oder bei der verwendeten Hardware erreicht werden. Entwickler können sich bei Abwägungsentscheidungen dieser Art bereits von verschiedenen Lösungen unterstützen lassen und so ihre Software-Architektur optimieren. Dabei besteht die Möglichkeit entweder quantifizierte oder nicht-quantifizierte Qualitätsattribute auszuwerten. Sollen gut automatisierbare Ansätze verwendet werden ist es in aller Regel nötig alle Qualitätsattribute zu quantifizieren. Die hohen Kosten dieses Ansatzes zur Anwendung der dafür nötigen Metriken machen eine vollständige Quantifizierung aller nötigen Qualitätsattribute allerdings häufig nicht möglich. Der Ansatz dieser Arbeit kombiniert daher Methoden, die quantifizierte Qualitätsattribute voraussetzen, mit qualitativen Ansätzen, um den Aufwand zu reduzieren alle tatsächlich nötigen Qualitätsattribute bei der Entscheidungsunterstützung berücksichtigen zu können. Dabei kann der Entwickler entscheiden welche Qualitätsattribute sich im Einzelfall lohnen (aufwendig) zu quantifizieren und bei welchen eine qualitative Abschätzung ausreichend ist. Der genannte Ansatz erlaubt es anschließend sowohl quantifizierte, als auch nicht-quantifizierte Qualitätsattribute in Kombination zu verarbeiten und Entwurfsenscheidungen zu unterstützen. Der Ansatz wurde an zwei Systemen demonstriert und das Laufzeitverhalten als quantifizierte Qualität zusammen mit Sicherheit und Bedienbarkeit als nicht-quantifizierte Qualität betrachtet. Publiziert auf QoSA 2016 (http://ieeexplore.ieee.org/document/7515435/)