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.
Context: Branching and merging are common activities in large-scale software development projects. Isolated development with branching enables developers to focus their effort on their specific tasks without wasting time on the problems caused by other developers’ changes. After the completion of tasks in branches, such branches should be integrated into common branches by merging. When conflicts...
Measuring competencies may serve as a feedback mechanism as well as a judgment device for a lecturer. As measuring every competency from a catalogue of competencies is not very viable, the to-be-measured competencies are grouped in competency profiles. Further, assessment practices are shown and applied to a course in a study program. A discussion of useful practices concludes this contribution.
Considering the claim of furthering self-directed learning in higher education in general and in Software Engineering education in particular, this paper deals with a new approach on understanding and facilitating self-directed learning. This approach involves the concept of subjective theories, which are expected to influence students' self-directed learning. Therefore this paper presents the intended...
Instructors not only in higher education are regularly faced with the problem that they need to develop a new course, or to adapt an existing one to changed requirements. This is especially true for topics related to information technology (IT) since technological progress is fast in this domain. However, instructors are not prepared really well for this task since they typically have a professional...
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...
Teaching design patterns in computer science introductory sequence is more difficult than learning it. We present a Just-in-Time-Teaching (JiTT) practice in Software Design Patterns course targeted to entry level students. We proposed a model that combines JiTT concepts with didactic considerations, preparation materials, in-class sessions and post-lecture assignments. We have effectively used this...
The development of competencies and also the usage of E-Learning and distance education in higher education are key aspects of the Bologna Process. Through the use of E-Learning, individual learning styles (e.g., different learning conditions, speeds and pathways) and competence orientation can be supported and promoted. The combination of traditional classroom teaching and self-study as well as the...
Identification of similar fragments of software systems, or clones, has many applications in software engineering and maintenance, including quality control and improvement, standards compliance, test management and failure analysis and prevention. Code similarity analysis systems, or clone detectors, are a mature and widely used technology in traditional software code maintenance. As model driven...
The main idea of this paper is that the software engineering needs a proper software science: a solid theoretical foundation like the one found in physics. Software science lacks the universal, precise, and formal definition for module, program, and code-translation. The proliferation of languages and tools have confused the computer scientists. There is no universal and formal theory for the forms...
Design science is a research paradigm where the development and evaluation of an artefact is a key contribution. Design science is used in many domains and this paper draws on those domains to formulate a generic structure for design science research suitable for small-scale postgraduate information technology research projects. The paper includes guidelines for writing proposals and a generic research...
Professional software engineers are the key assets of the core competency of a company developing highly complicated safety-critical software-intensive automotive systems. Professional software engineers have been generally trained through an education and training program home-brewed in the company. However, the conventional curriculum of the program is developed in a rather ad hoc way, and hard...
Problem-based learning (PBL) is a way to learn what is needed to solve a problem, how can a solution be obtained quickly, precisely and professionally. To achieve the goal of problem-based learning, problem design and assign same level of problems among the students are important in engineering classroom environment. SQL is a major part in Database course. In problem based e-Learning of SQL, it is...
Identifying and managing effectively the Technical Debt has become an issue of great importance over recent years. In cloud marketplaces, where the cloud services can be leased, the difficulty to promptly predict and manage the Technical Debt has a significant impact. In this paper, we examine the Technical Debt, which stems from budget constraints during the software development process as well as...
The paper presents a measure to improve the Tarantula spectral fault localization algorithm and solves the problems that the weight of the statements with a high-frequency coverage is significantly lower than the statements with a low-frequency coverage when Tarantula algorithm calculate the statement suspicious degrees. The improved algorithm has better discrimination when calculating the statement...
A digital pervasive game can be defined as a game in which the gaming experience is extended to the real world. This is possible due to the use of sensor-based mobile devices. Developing digital pervasive games involves additional requirements, such as dealing with ubiquitous computing challenges. Part of these requirements affect directly the design and development processes of pervasive games. Software...
In this key-note presentation I will reflect on GQM, its' starting principles and lessons learned, and will evolve to the relevance in todays' fast moving world and clarify how GQM is there to serve its' purpose. GQM is now more relevant and more suitable than it has ever been.
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,...
Maintenance and evolution are important parts for all successful software projects. In recent years, version control systems have played a key role in software development process. Not only do they provide a means to coordinate programmers, organize and manage source code, but they also persist the evolution history of the source code into their software repositories. Mining software repositories...
We demonstrate a tool for browsing large software repositories such as GitHub or Source Forge using all the facilities one normally associates with an integrated development environment. The tool integrates code search engines with the Code Bubbles development environment. It lets the user perform and compare multiple searches, investigate and explore the results that are returned, expand searches...
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.