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.
Automated production systems are usually driven by Programmable Logic Controllers (PLCs). These systems are long-living and have high requirements for software quality to avoid downtimes, damaged product and harm to personnel. While commissioning multiple systems of similar type, pragmatic adjustments of the software are often necessary, which results in two or more similar variants of initially identical...
Many techniques have been proposed in the literature to support architecture definition, conformance, and analysis. However, there is a lack of adoption of such techniques by the industry. Previous work have analyzed this poor support. Specifically, former approaches lack proper analysis techniques (e.g., detection of architectural inconsistencies), and they do not provide extension and addition of...
The specific challenges for maintenance of software and its related hardware for the domain of automated Production Systems is discussed. Presenting four industrial case studies from renowned and world market leading German machine and plant manufacturing companies, these challenges and different solution approaches are introduced with a focus on software architectures to support modularity as a basis...
In this paper, we report on an empirical study we have conducted at Ericsson to understand the handling of crash reports (CRs). The study was performed on a dataset of CRs spanning over two years of activities on one of Ericsson's largest systems (+4 Million LOC). CRs at Ericsson are divided into two types: Internal and External. Internal CRs are reported within the organization after the integration...
In terms of software maintenance and comprehension, the fields of software engineering and software visualization have produced several methods and tools. However, they are typically separate tools in practice. In this paper, we present a novel methodology of combining software analysis and software visualization tools via an interactive visual workflow modeling approach. Standard software analysis...
In an object oriented design, organization of classes in an inheritance hierarchy is believed to ease the understandability, reusability, and maintainability of the design. However, a lot of empirical analysis is required to confirm this. This research work is another attempt in this direction. Previous research experiments show that programmers do not prefer deep inheritance hierarchies. They find...
Recent empirical studies identified an interest of software developers in high-level usage information, i.e. Why and how end users employ a software application. Furthermore, recent empirical work found that developers of interactive applications put themselves in the role of users by interacting with the user interface during program comprehension. This paper presents an exploratory case study investigating...
We propose a regression test selection technique that is based on analysis of source code of an object-oriented program. First we construct a System dependency graph model of the original program from the source code. When some modification is executed in a program, the constructed model is updated to reflect the changes. Our approach in addition to capturing control and data dependencies represents...
In the context of Software Maintenance, when a source code element must be changed, there is the need to identify if other elements will be affected by the change, in order to keep the code consistent. This identification is performed during the activity of change impact analysis. Aiming to support maintainers during this activity, software visualization tools allow a visual exploration of source...
Software Product Line (SPL) consists of an approach for supporting software design and development to promote large-scale and systematic reuse of components. Reuse in SPLs is enabled by using common features of a domain composing the SPL's core and other features defining variation points. Features can be defined as modules of an application with consistent, well-defined, independent, and combinable...
Knowledge processes are critical to outsourced software projects. According to outsourcing research, outsourced software projects succeed if they manage to integrate the client's business knowledge and the vendor's technical knowledge. In this paper, we submit that this view may not be wrong, but incomplete in a significant part of outsourced software work, which is software maintenance. Data from...
The activities of copy and paste fragments of code from a source code into the other source code, with or without modification, are known as the code cloning. The process is often done by software developers because it's easier than generate code manually. In the other hand, this behavior leads to the increasing of effort to maintenance the code. Research on detecting the presence of cloning has been...
In our work with industry partners as well as with students in seminars we noticed that many people often stick to "aged" metrics when they want to evaluate the maintainability of software. They consider these metrics for this purpose without second thoughts, because the metrics are so present that almost every developer has at least heard the name and has some kind of knowledge about it...
Since increasing complexity and scale of modern software products imposes tight scheduling and resource allocations on software development projects, a project manager must carefully triage bugs to determine which bug should be necessarily fixed before shipping. Although in the field of Mining Software Repositories (MSR) there are many promising approaches to predicting, localizing, and triaging bugs,...
Software maintenance tasks such as feature location and traceability link recovery are search-oriented. Most of the recently proposed approaches for automation of search-oriented tasks are based on a traditional text retrieval (TR) model in which documents are unstructured representations of text and queries consist only of keywords. Because source code has structure, approaches based on a structured...
Unintentional re-implementation of existing functionality is an issue frequently reported in practice and causes increased efforts for development and maintenance. However, instances are hard to find with existing approaches. For practitioners, this increases maintenance risks, such as inconsistent bug fixing, and hinders quality improvement efforts. For researchers, this hinders a reliable quantification...
We address the issue of failure in service compositions. Such failures occur when a service in the composition evolves or becomes unavailable. Our goal is to analyze these failures and recommend possible service repairs. We begin with a formal model of services and service compositions. In this model, services are abstracted as functions that map input domains to output domains and knowledge of their...
Modern software uses frameworks through their Application Programming Interfaces (APIs). Framework APIs may change while frameworks evolve. Client programs have to upgrade to new releases of frameworks if security vulnerabilities are discovered in the used releases. Patching security vulnerabilities can be delayed by non-security-related API changes when the frameworks used by client programs are...
System maintainers face several challenges stemming from a system and its library dependencies evolving separately. Novice maintainers may lack the historical knowledge required to efficiently manage an inherited system. While some libraries are regularly updated, some systems keep a dependency on older versions. On the other hand, maintainers may be unaware that other systems have settled on a different...
Peer code review is a software quality assurance activity followed in several open-source and closed-source software projects. Rietveld and Gerrit are the most popular peer code review systems used by open-source software projects. Despite the popularity and usefulness of these systems, they do not record or maintain the cost and effort information for a submitted patch review activity. Currently...
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.