Druskat, Stephan, Felderer, Michael, Haupt, Carina · elib (German Aerospace Center) · 2024
Research software is developed with aims and in contexts that differ from other software, by individuals who are often not trained software engineers. Furthermore, research software projects often suffer from resource scarcity, but produce artifacts that are crucial for research and require software engineering. These circumstances have an impact on how software engineering activities are performed in research contexts. This holds in particular for requirements engineering, which plays a crucial role for the success of traditional software engineering projects. In this paper, we discuss the relationship between research software and requirements engineering. For that purpose, we also reflect on research software engineering and its relationship to software engineering research. Closer collaboration between software engineering research and research software engineering creates opportunities for knowledge exchange and better research software engineering practice, and interesting new research questions for software engineering research. This is true also for requirements engineering, where lightweight methods are required, depending on the type of research software developed.
Cited by 0Open access
Matthias Bannert · 2024
Research Software Engineering: A Guide to the Open Source Ecosystem strives to give a big-picture overview and an understanding of the opportunities of programming as an approach to analytics and statistics. The book argues that a solid "programming" skill level is not only well within reach for many but also worth pursuing for researchers and business analysts. The ability to write a program leverages field-specific expertise and fosters interdisciplinary collaboration as source code continues to become an important communication channel. Given the pace of the development in data science, many senior researchers and mentors, alongside non-computer science curricula lack a basic software engineering component. This book fills the gap by providing a dedicated programming-with-data resource to both academic scholars and practitioners. Key Features overview: breakdown of complex data science software stacks into core components applied: source code of figures, tables and examples available and reproducible solely with license cost-free, open source software reader guidance: different entry points and rich references to deepen the understanding of selected aspects
Cited by 0
Carver, Jeffrey C., Milewicz, Reed · Figshare · 2019
This poster describes work at the intersection of Software Engineering and Research Software
Cited by 0Open access
Carver, Jeffrey C., Milewicz, Reed · Figshare · 2019
This poster describes work at the intersection of Software Engineering and Research Software
Cited by 0Open access
Gail C. Murphy · 2020
Brian Randell described software engineering as "the multi-person development of multi-version programs". David Parnas expressed that this "pithy phrase implies everything that differentiates software engineering from other programming" (Parnas, 2011). How does current software engineering research compare against this definition? Is there too much focus currently on research into problems and techniques more associated with programming than software engineering? Are there opportunities to use Randell's description of software engineering to guide the community to new research directions? In this extended abstract, I motivate the keynote, which explores these questions and discusses how a consideration of the development streams used by multiple individuals to produce multiple versions of software opens up new avenues for impactful software engineering research.
Cited by 0
Michael Felderer, Michael Goedicke, Lars Grunske et al. · Zenodo (CERN European Organization for Nuclear Research) · 2023
Research software engineering research aims at understanding and improving how software is developed for research.
Cited by 3Open access
Esperanza Marcos · ACM SIGSOFT Software Engineering Notes · 2005
Engineering research differs greatly, both in its aims and in its methods, from traditional "scientific" research. While Sciences deal with the study of existing objects and phenomena, be it physically, metaphysically or conceptually, Engineering is based on how to do things, how to create new objects. For this reason, "scientific" research methods are not always directly applicable to research problems of an engineering nature.In the present article, we concentrate on the problems and research methods of a specific branch of engineering: Software Engineering, discussing, on the one hand, the nature of the method in this field while and, on the other, the similarity of the methods of research in Software Engineering and those of software development.
Cited by 25
Yildiz, Anil, Schmitz, Dominik · RWTH Publications (RWTH Aachen) · 2025
Cited by 0Open access
Setiawan, Don, Burggraf, Niki, Huang, Ying-Hsiang et al. · Zenodo (CERN European Organization for Nuclear Research) · 2025
A comprehensive collection of Research Software Engineering (RSE) best practices and guidelines developed by the University of Washington Scientific Software Engineering Center (SSEC). This resource provides tutorials and guides covering fundamentals such as version control, testing, deployment, computing environments, and AI tools for software engineering, as well as advanced topics including profiling, containerization, orchestration, and cloud infrastructure. These guidelines are designed to help researchers and software engineers adopt industry best practices and deliver high-quality, reproducible, and maintainable scientific software.
Cited by 0Open access
Setiawan, Don, Burggraf, Niki, Huang, Ying-Hsiang et al. · Zenodo (CERN European Organization for Nuclear Research) · 2025
A comprehensive collection of Research Software Engineering (RSE) best practices and guidelines developed by the University of Washington Scientific Software Engineering Center (SSEC). This resource provides tutorials and guides covering fundamentals such as version control, testing, deployment, computing environments, and AI tools for software engineering, as well as advanced topics including profiling, containerization, orchestration, and cloud infrastructure. These guidelines are designed to help researchers and software engineers adopt industry best practices and deliver high-quality, reproducible, and maintainable scientific software.
Cited by 0Open access
Cares, Carlos · Figshare · 2024
<i>Software Engineering is a relatively new field of knowledge, also reflected in the eponymous professional career, both of which have developed over approximately six decades. Despite its relative youth, various technological and methodological engineering approaches have been considered paradigms. Furthermore, the evolution of scientific paradigms, as understood through the lens of the philosophy of science, has also shaped research perspectives within Software Engineering. This dual influence can render the field's landscape confusing, ambiguous, and even contradictory, posing challenges to establishing coherent research approaches for generating robust scientific knowledge.</i><i>In this presentation, a conceptual framework is proposed to differentiate Software Engineering practices, innovation, and research, while also conceptualizing their paradigmatic shifts from both professional and scientific perspectives. Major trends in the philosophy of science are reviewed and analyzed through the lens of Software Engineering.</i>
Cited by 0Open access
H Dangi, B Boehm, D Port et al. · International Journal of Science and Research (IJSR) · 2016
Software testing research has not kept up with modern software system designs and applications, and software engineering education falls short of providing students with the type of knowledge and training that other engineering specialties require. Testing researchers should pay more attention to areas that are currently relevant for practicing software developers, such as embedded systems, mobile devices, safety critical systems and other modern paradigms, in order to provide usable results and techniques for practitioners. We identify a number of skills that every software engineering student and faculty should have learned, and also propose that education for future software engineers should include significant exposure to real systems, preferably through hands on training via internships at software producing firms.
Cited by 0Open access
R. Jeffery · 2005
This paper argues for a greater emphasis on validation in software engineering research. Empirical evidence fiom two software engineering journals indicates that, despite calls for increased research validation, the evidence is that it has not happened as yet. The implications for this lack of validation is discussed.
Cited by 0
Cares, Carlos · Figshare · 2024
<i>Software Engineering is a relatively new field of knowledge, also reflected in the eponymous professional career, both of which have developed over approximately six decades. Despite its relative youth, various technological and methodological engineering approaches have been considered paradigms. Furthermore, the evolution of scientific paradigms, as understood through the lens of the philosophy of science, has also shaped research perspectives within Software Engineering. This dual influence can render the field's landscape confusing, ambiguous, and even contradictory, posing challenges to establishing coherent research approaches for generating robust scientific knowledge.</i><i>In this presentation, a conceptual framework is proposed to differentiate Software Engineering practices, innovation, and research, while also conceptualizing their paradigmatic shifts from both professional and scientific perspectives. Major trends in the philosophy of science are reviewed and analyzed through the lens of Software Engineering.</i>
Cited by 0Open access
Ross Jeffety · 2008
This paper argues for a greater emphasis on validation in software engineering research. Empirical evidence porn two software engineering journals indicates that, despite calls for increased research validation, the evidence is that it has not happened as yet. The implications for this lack of validation is discussed. Comments are beginning to appear in software engineering journals: both research and practitioner oriented that there are significant gaps between the production of theory and methodology and effective proof of their value. For example Tichy [l] states large parts of computer science including software engineering may not meet standards long established in the natural and engineering sciences. Among other things such standards hold that only validated claims are published in journals. Tichy et al found that more than 50 % of the papers in the 1993 volume of IEEE transactions on software engineering did not contain experimental evaluation evidence for their theories and models and they deemed this as unacceptable, even alarming. The goal of well engineered software is that it is maintainable, reliable, efficient and should offer an appropriate user interface (Somerville [2]). However, experience from software development indicates that it takes many new software projects, too many excruciating trial and error cycles replete with cost overruns in order to achieve these goals. The virtual absence of appropriate validation could be the cause for software engineering to fail to reach its product quality goals because the models and strategies have not been appropriately validated for real world use. It is our proposition that little empirical research is being conducted in software engineering. Our method of testing this proposition was to survey a recent representative sample of the papers in two major refereed research
Cited by 0
Wenfeng Chen · Advances in computer science research · 2016
Software engineering implementation is to apply software engineering theory for software development organizations in order to improve the product development time (T), quality (Q), cost (C), service (S) of software development organization. The most important is the engineering software development process, namely the establishment of a process with working order, limited step, and in line with the rules throughout the software development organization, to improve software quality and shorten the software development cycle. Although software engineering research has been conducted for decades, the level of engineering software development organization in China now is still relatively low, which has become a major problem restricting the development of China's software industry, but also an important factor affecting the internationalization of China's software industry. In this context, this paper combines several years of experience and engineering exploration experience in project development to study the software engineering implementation problem, principles, procedures and methods.
Cited by 0Open access
Cited by 0
Cares, Carlos · Figshare · 2024
<i>Software Engineering is a relatively new field of knowledge, also reflected in the eponymous professional career, both of which have developed over approximately six decades. Despite its relative youth, various technological and methodological engineering approaches have been considered paradigms. Furthermore, the evolution of scientific paradigms, as understood through the lens of the philosophy of science, has also shaped research perspectives within Software Engineering. This dual influence can render the field's landscape confusing, ambiguous, and even contradictory, posing challenges to establishing coherent research approaches for generating robust scientific knowledge.</i><i>In this presentation, a conceptual framework is proposed to differentiate Software Engineering practices, innovation, and research, while also conceptualizing their paradigmatic shifts from both professional and scientific perspectives. Major trends in the philosophy of science are reviewed and analyzed through the lens of Software Engineering.</i>
Cited by 0Open access
Austen Rainer, Dorota Jagielska, Tracy Hall · 2005
In this paper, we review four examples in software engineering practice of the lack of use of empirical evidence. We use these examples to support our claims that practitioners and researchers appear to have different values with regards to empirical evidence, and appear to use different criteria when evaluating the credibility of evidence. From our examples, it seems that practitioners need to be persuaded to adopt evidence-based software engineering practices. Consequently, the research community needs to consider strategies for persuading practitioners. Paradoxically for software engineering research, the more effective persuasion strategies may be ones that, initially at least, do not rely on empirical evidence.
Cited by 7
Front Matter · 2024
<em> September, 2024 </em> Authors: Michelle Barker, Wilhelm Hasselbring Directions for Research Software Engineering Research RSE research is a new direction in the evolving field of Research Software Engineering (RSE). This concept was highlighted in a panel chaired by Wilhelm Hasselbring (Kiel University) at RSECon in September 2024.
Cited by 0Open access