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.
Full stack (both server-side and client-side) web application development has become one of the primary forms of software development. Consequently, our students should develop skill in software engineering within this context. This presents a challenge because multiple frameworks and languages need to be used, they are rapidly changing, and the programming styles that are important (such as functional...
Degree programs in practice-based disciplines such as architecture, industrial engineering, graphic design, and the fine arts often include design studio experiences for their students. These studio courses are intended to provide students with an opportunity to practice skills and apply knowledge gained from curriculum courses following a more traditional format. They are also intended to provide...
When a client, describing a problem that requires a computing solution, mentions their “old” customers, does it refer to the age of the customers or the length of time the customers have been with the business? How big is “big”, how much is “too many” and what exactly should happen to the extra banquet guests that fail to fill an entire table? While typical programming assignment descriptions are...
Teaching agile software development by pairing lectures with hands-on projects has become the norm. This approach poses the problem of grading and evaluating practical project work as well as process conformance during development. Yet, few best practices exist for measuring the success of students in implementing agile practices. Most university courses rely on observations during the course or final...
Similar bugs are bugs that require handling of many common code files. Developers can often fix similar bugs with a shorter time and a higher quality since they can focus on fewer code files. Therefore, similar bug recommendation is a meaningful task which can improve development efficiency. Rocha et al. propose the first similar bug recommendation system named NextBug. Although NextBug performs better...
Gamification is a technique that, through the use of game elements, encourages users to learn and create opportunities to explore issues that necessarily must be approached from a theoretical perspective. For example, theories related to risk management. This work implements a proposal of a Gamified Web Application to strengthen the teaching of risk management. The building of the application focuses...
Information Retrieval (IR) approaches are used to leverage textual or unstructured data generated during the software development process to support various software engineering (SE) tasks (e.g., concept location, traceability link recovery, change impact analysis, etc.). Two of the most important steps for applying IR techniques to support SE tasks are preprocessing the corpus and configuring the...
When discussing programming issues on social platforms (e.g, Stack Overflow, Twitter), developers often mention APIs in natural language texts. Extracting API mentions in natural language texts is a prerequisite for effective indexing and searching for API-related information in software engineering social content. However, the informal nature of social discussions creates two fundamental challenges...
Many software comprehension tasks depend on how stakeholders textually describe their problems. These textual descriptions are leveraged by Text Retrieval (TR)-based solutions to more than 20 software engineering tasks, such as duplicate issue detection. The common assumption of such methods is that text describing the same issue in multiple places will have a common vocabulary. This paper presents...
Various security-oriented static analysis tools are designed to detect potential input validation vulnerabilities early in the development process. To verify and resolve these vulnerabilities, developers must retrace problematic data flows through the source code. My thesis proposes that existing tools do not adequately support the navigation of these traces. In this work I will explore the strategies...
[Context] In Multi-Disciplinary Engineering (MDE) environments, the engineering of industrial production systems requires the collaboration of engineers coming from different disciplines. Engineers typically apply discipline specific tools and data models with limited collaboration capabilities. These loosely coupled tools and heterogeneous data models hinder efficient change management and defect...
How diverse are the ways that programming is done? While a variety of accounts exist, each appears in isolation, neither framed in terms of a distinct practice, nor as one of many such practices. In this work we explore accounts spanning software engineering, bricolage/tinkering, sketching, live coding, code-bending, and hacking. These practices of programming are analyzed in relation to ongoing research,...
In the last few years, sustainability has become one of the priority lines for many companies and organizations, especially public administrations. This trend has been even more evident in some regions where the preservation of natural resources is of utmost importance, not only from an environmental perspective, but also from an economic one. In this context, technology has become one of the key...
Context: The need to accelerate software delivery, supporting faster time-to-market and frequent community developers/ users feedback are issues that have lead to relevant changes in software development practices. Many Open Source Software (OSS) projects have engaged to achieve this through the adoption of agile practices in software release practices. Problem: There is no secondary study in the...
The 6th edition of the Portuguese Software Engineering Doctoral Symposium (SEDES'2016), was held in September 16, 2016, in Lisboa, Portugal, co-located with the QUATIC'2016 conference. The aim of this symposium is to bring together Software Engineering PhD students supervised or co-supervised by faculty members of Portuguese Universities in a constructive environment, where they can present and discuss...
Traceability supports various activities of the software development process, such as impact analysis of changes, reuse, maintenance, verification and validation. The graphical representation of traceability information is very important to its effective use in those activities. Visualization tools can help in the interaction with large amount of data, in the identification of characteristics, patterns...
To facilitate the sharing and combination of knowledge by Global Software Engineering (GSE) researchers and practitioners, the need for a common terminology and knowledge classification scheme has been identified, and as a consequence, a taxonomy and an extension were proposed. In addition, one systematic literature review and a survey on respectively the state of the art and practice of effort estimation...
Recently, the topic of how to educate “green engineers” has been discussed much in relation to the growing issues of sustainability. This paper regards creativity as a path to developing sustainability, and it particularly considers creativity as a scientific literacy that indicates a collection of awareness, ability, and skills about sustainability. Following this point, in software engineering education,...
Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context. Hence, organizations may benefit from efforts to ensure sufficient levels of team knowledge. Such efforts may include different measures, such as project kick-offs,...
[Background] Software Engineering (SE) is predominantly a team effort that needs close cooperation among several people who may be geographically distributed. It has been recognized that appropriate tool support is a prerequisite to improve cooperation within SE teams. In an effort to contribute to this line of research, we have designed and developed an infrastructure, called ABC4GSD, based on the...
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.