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.
In recent years, techniques based on association rules discovery have been extensively used to determine change-coupling relations between artifacts that often changed together. Although association rules worked well in many cases, they fail to capture logical coupling relations between artifacts modified in subsequent change sets. To overcome such a limitation, we propose the use of multivariate...
Supervised learning methods have been recently exploited to learn gene regulatory networks from gene expression data. They consist of building a binary classifier from feature vectors composed by expression levels of a set of known regulatory connections, available in public databases (eg. RegulonDB, TRRD, Transfac, IPA), and using such a classifier to predict new unknown connections. The input to...
Differencing tools are highly relevant for a series of software engineering tasks, including analyzing developers' activities, assessing the changeability of software artifacts, and monitoring the maintenance of critical assets such as source clones and vulnerable instructions. This tool demonstration shows the features of ldiff, an enhanced, language-independent line differencing tool. L-diff builds...
Design patterns are solutions to recurring design problems, aimed at increasing reuse, code quality and, above all, maintainability and resilience to changes. Despite such advantages, the usage of design patterns implies the presence of crosscutting code implementing the pattern usage and access from other system components. When the system evolves, the presence of crosscutting code can cause repeated...
Versioning and bug-tracking systems are invaluable assets for large software projects that involve developers spread worldwide and numerous users reporting bugs and proposing enhancements. In addition to supporting development, versioning systems are a precious source of information for studying or monitoring a software system's evolution.
Mining services from existing software system is a relevant challenge to enable the development of service-oriented systems. Very often, although a service realizing a feature needed to develop a service-oriented system is not available, such a feature might have been implemented in existing software systems. This paper proposes an approach for the identification of services in existing legacy code...
Analyzing the change-proneness of design patterns and the kinds of changes occurring to classes playing role(s) in some design pattern(s) during software evolution poses the basis for guidelines to help developers who have to choose, apply or maintain design patterns. Building on previous work, this paper shifts the focus from design patterns as wholes to the finer-grain level of design pattern roles...
The presence of vulnerable statements in the source code is a crucial problem for maintainers: properly monitoring and, if necessary, removing them is highly desirable to ensure high security and reliability. To this aim, a number of static analysis tools have been developed to detect the presence of instructions that can be subject to vulnerability attacks, ranging from buffer overflow exploitations...
Crosscutting concerns consist in software system features having the implementation spread across modules as tangled and scattered code. In many cases, these crosscutting concerns represent design pattern clients, i.e., invocations to pattern features. When a design pattern evolves, this can cause the addition or the change of scattered and tangled code, which contributes to the evolution of the crosscutting...
Observing the evolution of software systems at different levels of granularity has been a key issue for a number of studies, aiming at predicting defects or at studying certain phenomena, such as the presence of clones or of crosscutting concerns. Versioning systems such as CVS and SVN, however, only provide information about lines added or deleted by a contributor: any change is shown as a sequence...
Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to change the concern and/or re-factor it to an aspect. This paper evaluates the suitability of line co-change as a technique for the identification of crosscutting concerns. A line co-change aim at identifying source code lines...
Impact analysis is the identification of the work products affected by a proposed change request, either a bug fix or a new feature demand. Jimpa is a plug-in for Eclipse that implements an impact analysis approach based on data stored in software repositories, such as CVS and Bugzilla. Plug-in architecture and functionalities are presented
Programmers tend to isolate concerns in source code as a way to achieve a clearer visualization of scattered and tangled code. Thus, a crosscutting concern can be well represented as the set of tangled and scattered lines of code across the system. With such model, we found that crosscutting concerns are first inserted in the system and then maintained through a set of changes performed exclusively...
Impact analysis is the identification of the work products affected by a proposed change request, either a bug fix or a new feature request. In many open-source projects, such as KDE, Gnome, Mozilla, Openoffice, change requests, and related data, are stored in a bug tracking system such as Bugzilla. These data, together with the data stored in a versioning system, such as CVS, are a valuable source...
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.