The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Intrusion detection systems are used in computer networking and other applications to detect and respond to attempts to compromise computers, servers, firewalls and other network resources. As intrusion detection systems move beyond providing simple pattern recognition capabilities for known attack types, the ability to test these systems with conventional techniques (or use formal or other similar...
Since the beginning of the 90s, different tools have emerged to support integration and upgrading of most of the existing operating systems. These tools, called Package Managers, are used to atomically add and remove software pieces coming from external repositories. Based on Package Managers, the software community created Dependency Managers with the aim to give support to the development of wide-scale...
A distributed software product engineering team has to deal with the additional issue of distribution apart from the usual expectations around cost, quality, time to market and innovation. Distribution of work brings in the issues of temporal, geographical and cultural separation. In spite of individually following the prescribed software engineering processes, often the distributed teams fail to...
DevOps and continuous practices are attracting steadily growing attention by both practitioners and researchers in the software engineering community. The terms are often used inconsistently, interchangeably and with unclear meaning, however. Taking the position that this ambiguity and miscommunication renders the community great harm, in that it impedes our ability to critically appraise these practices,...
Successfully developing and delivering multi-year, multi-person software projects remains a highly challenging task. Software engineering researchers have spent considerable energy investigating ways to improve this situation by developing various processes, techniques, and tools over the last five decades. Understanding trends in the current state of the practice is crucial to identifying the challenges...
Constantly evolving requirements and use of expert judgment makes effort estimation challenging in the Agile development context. To improve expert judgment based estimation (EE) methods, we introduced a framework to integrate these with change impact analysis (IA) techniques. In this paper, we report the findings of an empirical investigation which we performed together at SAP SE, a German multinational...
Due to C's overwhelming dominance in industry, reactive embedded applications usually rely on conventional sequential programming. Adopted approaches favor event-driven paradigms which prevent function-oriented code decomposition in particular. This encourages the violation of fundamental software engineering principles. The reactive programming paradigm is proposed as a general solution. However,...
Software engineers are using a variety of social platforms, where they participate in open source software projects and respond to other developers that ask for help on specific issues. This presence of developers in different platforms is a mirror of their hands-on experience and expertise in different technologies and programming languages and a useful source of information for their own use but...
Today's students are prospective entrepreneurs and employees in modern, start-up like environments within established companies. In these settings, software development projects face extreme requirements in terms of innovation and attractiveness of the end-product. They also suffer severe consequences of failure such as termination of the development effort and bankruptcy. As the abilities needed...
Context: Software Bug Severity Classification can help to improve the software bug triaging process. However, severity levels present a high-level of data imbalance that needs to be taken into account. Aim: We investigate cost-sensitive strategies in multi-class bug severity classification to counteract data imbalance. Method: We transform datasets from three severity classification papers to a common...
Technical Debt (TD) is a metaphor used to explain the negative impacts that sub-optimal design decisions have in the long-term perspective of a software project. Although TD is acknowledged by both researchers and practitioners to have strong negative impact on Software development, its study on Testware has so far been very limited. A gap in knowledge that is important to address due to the growing...
One argument in the discussion about the adoption of UML in industry is the supposedly large effort it takes to do modeling. Our study explores how the creation of UML models can be understood to consist of different cognitive activities: (i) designing: thinking about the design (ideation, key-design decision making), (ii) notation expression: expressing a design in a modeling notation and (iii) layouting:...
the increasing desire by many for a better world and easier living conditions have contributed to various efforts to the frontiers of innovation in information technology (IT). The ensuing phenomena is the launch of many software startups to give meaning to such innovations in IT. Interestingly, the rate at which many of such startups fail is usually higher than expected. A collaborative effort by...
Domain-specific languages (DSLs) are frequently used in software engineering. In contrast to general-purpose languages, DSLs are designed for a special purpose in a particular domain. Due to volatile user requirements and new technologies DSLs, similar to the software systems they describe or produce, are subject to continuous evolution. This work explores existing research on DSL evolution to summarize,...
Sustainability in software engineering is a relatively new and fast growing field of research. Green software engineering aims to produce sustainable software products with minimum negative impact on the environment. In order to make greener software products, software practitioners need actionable timely information, to make useful trade-offs between energy efficiency and other quality attributes,...
To measure object-oriented design quality, metric-based approaches have been established. These have then been enhanced by identifying design smells in code. While these approaches are useful for identifying hot spots that should be refactored, they are still too vague to sufficiently guide software developers to implement improvements. This is why our previous work focuses on measuring the compliance...
The importance of traceability in software development has long been recognized, not only for reasons of legality and certification, but also to enable the development itself. At the same time, organizations are known to struggle to live up to traceability requirements, and there is an identified lack of studies on traceability practices in the industry, not least in the area of tooling and infrastructure...
Context: Facing the implementation of the EU General Data Protection Regulation in May 2018, many commercial software providers will soon need to adapt their products to new privacy-related constraints. Privacy patterns defined for different aspects of the software engineering process promise to be a useful concept for this task. In this situation, it seems valuable to characterize the state of the...
Agile software development and formal methods are seemingly on the opposite ends of the rigorousness scale. If carefully used, the can efficiently function in synergy to provide an evolutionary, iterative and tailorable process for a correct-by-construction system. In this work, we present the use of agile and formal methods in the academic context at the project course. We describe the development...
Information sharing in teams is one of the most important aspects of successful software development. For instance, requirements, design decisions and guidelines need to be communicated with the whole team or with specific team members. For information exchange, communication is mandatory. Meetings are an effective way to communicate with many team members. Hence, much information can be shared during...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.