TY - JOUR A1 - Perscheid, Michael A1 - Siegmund, Benjamin A1 - Taeumel, Marcel A1 - Hirschfeld, Robert T1 - Studying the advancement in debugging practice of professional software developers JF - Software Quality Journal N2 - In 1997, Henry Lieberman stated that debugging is the dirty little secret of computer science. Since then, several promising debugging technologies have been developed such as back-in-time debuggers and automatic fault localization methods. However, the last study about the state-of-the-art in debugging is still more than 15 years old and so it is not clear whether these new approaches have been applied in practice or not. For that reason, we investigate the current state of debugging in a comprehensive study. First, we review the available literature and learn about current approaches and study results. Second, we observe several professional developers while debugging and interview them about their experiences. Third, we create a questionnaire that serves as the basis for a larger online debugging survey. Based on these results, we present new insights into debugging practice that help to suggest new directions for future research. KW - Debugging KW - Literature review KW - Field study KW - Online survey Y1 - 2016 U6 - https://doi.org/10.1007/s11219-015-9294-2 SN - 0963-9314 SN - 1573-1367 VL - 25 SP - 83 EP - 110 PB - Springer CY - Dordrecht ER - TY - JOUR A1 - Felgentreff, Tim A1 - Perscheid, Michael A1 - Hirschfeld, Robert T1 - Implementing record and refinement for debugging timing-dependent communication JF - Science of computer programming N2 - Distributed applications are hard to debug because timing-dependent network communication is a source of non-deterministic behavior. Current approaches to debug non deterministic failures include post-mortem debugging as well as record and replay. However, the first impairs system performance to gather data, whereas the latter requires developers to understand the timing-dependent communication at a lower level of abstraction than they develop at. Furthermore, both approaches require intrusive core library modifications to gather data from live systems. In this paper, we present the Peek-At-Talk debugger for investigating non-deterministic failures with low overhead in a systematic, top-down method, with a particular focus on tool-building issues in the following areas: First, we show how our debugging framework Path Tools guides developers from failures to their root causes and gathers run-time data with low overhead. Second, we present Peek-At-Talk, an extension to our Path Tools framework to record non-deterministic communication and refine behavioral data that connects source code with network events. Finally, we scope changes to the core library to record network communication without impacting other network applications. KW - Distributed debugging KW - Record and replay KW - Dynamic analysis KW - Record and refinement Y1 - 2016 U6 - https://doi.org/10.1016/j.scico.2015.11.006 SN - 0167-6423 SN - 1872-7964 VL - 134 SP - 4 EP - 18 PB - Elsevier CY - Amsterdam ER - TY - JOUR A1 - Perscheid, Michael T1 - Requirements traceability in service-oriented computing Y1 - 2010 SN - 978-3-86956-036-6 ER - TY - JOUR A1 - Hirschfeld, Robert A1 - Perscheid, Michael A1 - Haupt, Michael T1 - Explicit use-case representation in object-oriented programming languages JF - ACM SIGPLAN notices N2 - Use-cases are considered an integral part of most contemporary development processes since they describe a software system's expected behavior from the perspective of its prospective users. However, the presence of and traceability to use-cases is increasingly lost in later more code-centric development activities. Use-cases, being well-encapsulated at the level of requirements descriptions, eventually lead to crosscutting concerns in system design and source code. Tracing which parts of the system contribute to which use-cases is therefore hard and so limits understandability. In this paper, we propose an approach to making use-cases first-class entities in both the programming language and the runtime environment. Having use-cases present in the code and the running system will allow developers, maintainers, and operators to easily associate their units of work with what matters to the users. We suggest the combination of use-cases, acceptance tests, and dynamic analysis to automatically associate source code with use-cases. We present UseCasePy, an implementation of our approach to use-case-centered development in Python, and its application to the Django Web framework. KW - design KW - languages KW - use-cases KW - separation of concerns KW - traceability Y1 - 2012 U6 - https://doi.org/10.1145/2168696.2047856 SN - 0362-1340 VL - 47 IS - 2 SP - 51 EP - 60 PB - Association for Computing Machinery CY - New York ER - TY - CHAP A1 - Böhme, Lukas A1 - Wuttke, Tobias A1 - Bender, Benedict A1 - Teusner, Ralf A1 - Baltes, Sebastian A1 - Matthies, Christoph A1 - Perscheid, Michael T1 - From full-fledged erp systems towards process-centric business process platforms T2 - Twenty-ninth Americas Conference on Information Systems, Panama, 2023 N2 - Enterprise Resource Planning (ERP) systems are critical to the success of enterprises, facilitating business operations through standardized digital processes. However, existing ERP systems are unsuitable for startups and small and medium-sized enterprises that grow quickly and require adaptable solutions with low barriers to entry. Drawing upon 15 explorative interviews with industry experts, we examine the challenges of current ERP systems using the task technology fit theory across companies of varying sizes. We describe high entry barriers, high costs of implementing implicit processes, and insufficient interoperability of already employed tools. We present a vision of a future business process platform based on three enablers: Business processes as first-class entities, semantic data and processes, and cloud-native elasticity and high availability. We discuss how these enablers address current ERP systems' challenges and how they may be used for research on the next generation of business software for tomorrow's enterprises. KW - ERP system KW - enterprise system KW - business process platform Y1 - 2023 U6 - https://doi.org/10.48550/arXiv.2306.02995 PB - arXiv.org, Cornell University CY - Ithaca, NY ER - TY - BOOK A1 - Alnemr, Rehab A1 - Polyvyanyy, Artem A1 - AbuJarour, Mohammed A1 - Appeltauer, Malte A1 - Hildebrandt, Dieter A1 - Thomas, Ivonne A1 - Overdick, Hagen A1 - Schöbel, Michael A1 - Uflacker, Matthias A1 - Kluth, Stephan A1 - Menzel, Michael A1 - Schmidt, Alexander A1 - Hagedorn, Benjamin A1 - Pascalau, Emilian A1 - Perscheid, Michael A1 - Vogel, Thomas A1 - Hentschel, Uwe A1 - Feinbube, Frank A1 - Kowark, Thomas A1 - Trümper, Jonas A1 - Vogel, Tobias A1 - Becker, Basil ED - Meinel, Christoph ED - Plattner, Hasso ED - Döllner, Jürgen Roland Friedrich ED - Weske, Mathias ED - Polze, Andreas ED - Hirschfeld, Robert ED - Naumann, Felix ED - Giese, Holger T1 - Proceedings of the 4th Ph.D. Retreat of the HPI Research School on Service-oriented Systems Engineering T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 31 KW - Hasso-Plattner-Institut KW - Forschungskolleg KW - Klausurtagung KW - Service-oriented Systems Engineering KW - Hasso Plattner Institute KW - Research School KW - Ph.D. Retreat KW - Service-oriented Systems Engineering Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-40838 SN - 978-3-86956-036-6 PB - Universitätsverlag Potsdam CY - Potsdam ER -