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.
Software datasets play a crucial role in advancing automated software traceability research. They can be used by researchers in different ways to develop or validate new automated approaches. The diversity and quality of the datasets within a research community have a significant impact on the accuracy, generalizability, and reproducibility of the results and consequently on the usefulness and practicality...
As demands on new software increase, new approaches are needed to help developers ensure Quality of Service (QoS) for their offered service. In this paper we present a QoS modeling approach that complements and extends the standard microservice and component-based software engineering tools by giving the software engineer information on what Non-Functional Requirements (NFRs) and quality constraints...
The use of agile methods in software engineering is a standard practice and user stories are established artefacts used for breaking complex system requirements into smaller subsets. However, user stories do not suffice for understanding the big picture of system requirements. While there are methods that try to solve this problem, they lack visual tool support and are too heavy for smaller projects...
Vagueness in software requirements documents can lead to several maintenance problems, especially when the customer and development team do not share the same language. Currently, companies rely on human translators to maintain communication and limit vagueness by translating the requirement documents by hand. In this paper, we describe two approaches that automatically identify vagueness in requirements...
Providing a correct, complete, and unambiguous requirements specification is still one of the biggest challenges in software engineering. In the case of safety-critical systems, this challenge is even greater, since misinterpretations can lead to catastrophic damages to humans and to the environment. Agile development proposes minimizing the challenges in requirements specifications through short...
We present the results of a survey of tool use in software modeling education conducted from December 2016 to March 2017. The survey was conducted among 150 professors who taught modeling in 30 countries from all regions of the world. Professors reported using 32 modeling tools. Top motivations for choosing tools are simplicity of learning and installing, as well as the tools being free and supporting...
Inefficient mobile software kills battery life. Yet, developers lack the tools necessary to detect and solve energy bugs in software. In addition, developers are usually tasked with the creation of software features and triaging existing bugs. This means that most developers do not have the time or resources to research, build, or employ energy debugging tools.We present a new method for predicting...
Gamification of software engineering tasks improve developer engagement, but has been limited to mechanisms such as points and badges. We believe that a tool that provides developers an interface analogous to computer games can represent the gamification of software engineering tasks more effectively via software visualization. We introduce CityVR – an interactive software visualization tool that...
A software project is typically completed as a result of a collective effort done by individuals of different personalities. Personality reflects differences among people in behaviour patterns, communication, cognition and emotion. It often impacts relationships and collaborative work, and software engineering teamwork is no exception. Some personalities are more likely to click while others to clash...
There is widening chasm between the ease of creating software and difficulty of "building security in". This paper reviews the approach, the findings and recent experiments from a seven-year effort to enable consistency across a large, diverse development organization and software portfolio via policies, guidance, automated tools and services. Experience shows that developing secure software...
Domain specific languages (DSLs) bring substantial increase in productivity and quality and thus look very appealing to software engineering practitioners. Because language workbenches can drastically reduce the cost of building and maintaining DSLs and associated tooling, they catch the attention of technical leads and project managers in the industry. Effective use of language engineering technologies...
Recent research studies indicate a gap in research regarding descriptive and diagnostic analytics across project management knowledge areas. As a result there is mismatch between the information needed by project managers for good decision making and what the current tools provide. This research study purports that a project management intelligence (PMInt) tool which is aimed at assisting project...
Change-based code review, e.g., in the form of pull requests, is the dominant style of code review in practice. An important option to improve review's efficiency is cognitive support for the reviewer. Nevertheless, review tools present the change parts under review sorted in alphabetical order of file path, thus leaving the effort of understanding the construction, connections, and logic of the changes...
Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and aim to assist in the practice of software comprehension and maintenance. Having acknowledged the advantages of exception handling features, their misuse can still cause reliability degradation or even catastrophic software failures...
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...
Today, software components are provided by global markets in the form of services. In order to optimally satisfy service requesters and service providers, adequate techniques for automatic service matching are needed. However, a requester's requirements may be vague and the information available about a provided service may be incomplete. As a consequence, fuzziness is induced into the matching procedure...
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.