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.
In order for the conduct of collaborative research projects and their outcomes to be valuable for both research and practice it is necessary to successfully address a number of socio-technical challenges in the field of software engineering. Collaborative research involving researchers and practitioners related to software systems have utilised a variety of different research approaches. Adoption...
Traceability Link Recovery (TLR) is a fundamental software maintenance task in which links are established between related software artifacts of different types (e.g., source code, documentation, requirements specifications, etc.) within a system. Existing approaches to TLR often require a human to analyze a long list of potential links and distinguish valid links from invalid ones. Here we present...
Software processes and Software Engineering (SE) methods belong to those knowledge areas which are challenging to be taught intuitively accessible. The specification “Kernel and Language for Software Engineering Methods (Essence)” [1] claims to deliver an approach to consolidate all essential dimensions of SE-endeavors into an universal compact and actionable kernel. This paper describes the characteristics...
Several initiatives have been proposed in recent years with the purpose of investigating how to tackle sustainability issues within software systems and software engineering. However, there is a lack of attention from the research community in exploring sustainability as an emergent quality property of the software systems, especially when they are becoming more and more distributed, heterogeneous,...
Current software remodularisation tools only operate on abstractions of a software system. In this paper, we investigate the actual impact of automated remodularisation on source code using a tool that automatically applies remodularisations as refactorings. This shows us that a typical remodularisation (as computed by the Bunch tool) will require changes to thousands of lines of code, spread throughout...
Self-properties have introduced a novelty in the IT world: software may change during its execution by performing modifications by itself on itself. The evaluation of such systems implies the evaluation of their ability to change. The variety of possible changes makes the evaluation a challenging task. This paper aims to (1) mention the available quality evaluation mechanisms in software engineering...
In light of the looming threats of global climate change and environmental degradation, the software research community has begun to recognize the need to transition toward environmental sustainability. However, the process of detecting, specifying and evaluating requirements related to environmental sustainability within industry is often neglected or at best performed after the system is built....
Software systems have not only become larger over time, but the amount of technical contributors and dependencies have also increased. With these expansions also comes the increasing risk of introducing a software failure into a pre-existing system. Software failures are a multi-billion dollar problem in the industry today and while integration and other forms of testing are helping to ensure a minimal...
With regards to requirements elicitation, system requirements can be classified into two types — explicit (functional and non-functional) and implicit requirements. Explicit requirements are well-defined and clearly stated requirements that a system should execute while implicit requirements (IMR) are the hidden, unspoken, or assumed requirements that a system is expected to fulfill even though not...
Globally-distributed projects are rapidly becoming the norm for large software systems. Generally larger software projects can be managed globally because of their big budgets. But small projects which have very low budget (it could be as low as $30) it's not possible to manage them globally like large projects. As managing large projects globally saves lot of cost and time, managing small projects...
Software engineers are coerced to deal with a large amount of information about source code. Appropriate tools could assist to handle it, but existing tools are not capable of processing and presenting such a large amount of information sufficiently. With the advent of in-memory column-oriented databases the performance of some data-intensive applications could be significantly improved. This has...
Traditional didactical methods with a strong teacher-centred approach have proved to be inadequate for software engineering education as they do not capture the complexity of the software production process. Our paper demonstrates that software engineering can and should be taught in an authentic learning environment that relies heavily on a student-centred teaching approach. We present our experiences...
The theoretical foundations of software engineering are based on the notion of formal model. Models used in this area describe computer systems, i.e. they not only describe static aspects but also dynamic aspects of systems behavior. Many different types of models have been used to build and analyze software systems, describing the system from different points of view and also at different levels...
Software Cybernetics can address important challenges in future software based system. To achieve this, requires interdisciplinary work and research. An evaluation of how Software Cybernetics can interact with other disciplines is called for.
Requirements priority set of trustworthy software is an importance activity in product requirements engineering, which is conducive to incremental development and stability of trustworthy software product. From the perspective of comprehensive analysis, this paper analyzes and discusses the connotations of trustworthy software requirement and requirement priority thoroughly, and puts forward three-layer...
This paper compares the effectiveness of two approaches that can be used to teach concepts in introductory courses such as CS1 and CS2 - a conventional lecture-based approach and one using larger software programs (artifacts) with accompanying guided exercises. Our assessment includes measures of students' self-confidence as well as a measurement of their knowledge of the topics used in this study:...
When software systems evolve, for example due to fault fixes, modification of functionalities or refactoring activities, test cases may become obsolete thus generating wrong results or even not being executable or compilable. Maintaining test cases is expensive and time consuming, and often test cases are discarded by software developers due to high maintenance costs. This paper presents TestCareAssistant,...
A large number of experiments show many software systems have the statistical characteristics of complex networks. Complex networks theory provides a global view of observation and analysis of software systems. The basic concepts of complex networks were introduced briefly. The current research results on the combination of complex networks theory and software engineering were summed. And nine future...
Increasingly software can be considered to be critical, due to the business or other functionality which it supports. Upgrades or changes to such software are expensive and risky, primarily because the software has not been designed and built for ease of change. Expertise, tools and methodologies which support the design and implementation of software systems that evolve without risk (of failure or...
As requirements and environments become much more complex, the need for self-adaptive and self-healing software system grows. There are several existing works which present such systems by using different approaches. Using alternative solutions to provide a service or requirement is one of the most important approaches among existing works. In this paper an alternative-based approach for adding self-adaptive...
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.