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.
Defect Prediction Models aim at identifying error-prone modules of a software system to guide quality assurance activities such as tests or code reviews. Such models have been actively researched for more than a decade, with more than 100 published research papers. However, most of the models proposed so far have assumed that the cost of applying quality assurance activities is the same for each module...
Software development is fundamentally a collaborative task. Developers, sometimes geographically distributed, collectively work on different parts of a project. The challenge of ensuring that their contributions consistently build on one another is a major concern for collaborative development and implies concerns with effective communication, task administration and exchange of documents and information...
Rapidly changing technology is one of the key triggers of system evolution. Some examples are: physically relocating a data center, replacement of infrastructure such as migrating from an in-house broker to CORBA, moving to a new architectural approach such as migrating from client-server to a service-oriented architecture. At a high level, the goals of such an evolution are easy to describe. While...
The alignment degree existing between a business process and the supporting software systems expresses at which extent the software systems support the business process. This measure can be used for indicating business requirements that the software systems do not implement. Methods are needed for identifying the software changes to be performed for increasing and keeping an adequate alignment level...
Summary form only. In biology and medicine "in vitro" and "in vivo" are considered two complimentary sides of the same coin, living in symbiotic relationship with one another for the greater good of the research discipline. In vitro research is necessary, because laboratory conditions allow the investigator to have full control over the experimental context, necessary to study...
The migration of legacy mainframe applications to new web technologies is a challenge faced by several organizations. Since 2005, the Pitang and C.E.S.A.R companies are involved in a large migration project for a bank institution, aiming to migrate NATURAL/ADABAS legacy mainframe source code to a web-based platform. In this paper, we briefly describe the project's evolution and lessons learned.
Concept or feature identification, i.e., the identification of the source code fragments implementing a particular feature, is a crucial task during software understanding and maintenance. This paper proposes an approach to identify concepts in execution traces by finding cohesive and decoupled fragments of the traces. The approach relies on search-based optimization techniques, textual analysis of...
The subject of this paper is the results of an industrial initiative undertaken to analyze factors that contributed to making adaptive and perfective maintenance agile for a set of software systems.
Recovering design pattern instances in a software system can help maintainers to understand its design and implementation. In this paper we present a fully automated design pattern recovery approach that analyzes the behavior of pattern instances both statically and dynamically. In particular, the proposed approach exploits model checking to statically verify the behavioral aspects of design pattern...
The addition of support for genericity to mainstream programming languages has a notable influence in refactoring tools. This also applies to the JAVA programming language. Those versions of the language specification prior to JAVA 5 did not include support for generics. Therefore, refactoring tools had to evolve to modify their refactoring implementations according to the new language characteristics...
LIFT (Legacy Information retrieval Tool) is a tool for reverse engineering and understanding of legacy systems, in particular NATURAL/ADABAS systems. Its provides several capabilities, such as call graphs, identification and visual representation of application tiers, the presentation of flows from screen to database entities, cluster analysis and documentation generation, among others. In this paper,...
Given the importance of identifier names and the value of naming conventions to program comprehension, we speculated in previous work whether a connection exists between the quality of identifier names and software quality. We found that flawed identifiers in Java classes were associated with source code found to be of low quality by static analysis. This paper extends that work in three directions...
Annotations are a means to attach additional meta data to the source code of a system. Nowadays, more and more technologies rely on the presence of such annotations in the source code: beyond their use for documentation purposes, annotations impact the behaviour of the system. Since there exists little or no support to make sure that upon evolution of the system, the source code remains correctly...
The existing software engineering literature has empirically shown that a proper choice of identifiers influences software understandability and maintainability. Researchers have noticed that identifiers are one of the most important source of information about program entities and that the semantic of identifiers guide the cognitive process. Recognizing the words forming identifiers is not an easy...
In this paper we present a clustering based approach to partition software systems into meaningful subsystems. In particular, the approach uses lexical information extracted from four zones in Java classes, which may provide a different contribution towards software systems partitioning. To automatically weigh these zones, we introduced a probabilistic model, and applied the Expectation-Maximization...
According to recent work, duplicate bug report entries in bug tracking systems impact negatively on software maintenance and evolution productivity due to, among other factors, the increased time spent on report analysis and validation, what in some cases take over 20 minutes. Therefore, a considerable amount of time is lost mainly with duplicate bug report analysis. This work presents an initial...
There is growing momentum around Cloud Computing among technology providers, end users, and academia. It is considered as a key theme for both the research constituency itself and for policy makers. Even though Cloud computing is a commercial reality and the adoption rate of cloud computing services is growing, there are major issues that need to be smoothed out before big businesses will truly consider...
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.