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.
The paper presents a tool-supported approach to legacy data-intensive systems migration. It particularly elaborates on the program conversion phase, for which the use of wrapping techniques is suggested. The approach is applied to a popular specific application, that is, the migration of a large COBOL system using a CODASYL database towards a relational database platform. The use of the methodology...
Source code and accompanying documents that are subject to reverse engineering activities are usually written in different artifact languages, ranging from programming languages over diagram languages to natural languages. For the purpose of information extraction from such heterogeneous sources a common unifying representation is essential. Metamodeling is a popular approach to define the abstract...
Use case re-documentation is an important maintenance task. The implemented functionality of an application may not reflect original use cases. This discrepancy can create problems in downstream software activities, such as developing documentation and migrating to platforms adopting a service-oriented architecture (SOA). We present a methodology and a toolkit for re-documenting the use cases of interactive...
The increasing power of mobile devices means that companies and institutions can now look to exposing their systems to these devices. As part of a research project, we need to re-engineer a system to expose it 'as a service' in order to enable access by multiple devices. The aim of this study was to identify approaches to the re-engineering of systems to provide multichannel service-oriented access...
Families of products are steadily emerging for distinct settings such as embedded systems, navigational systems, financial applications or even web applications. This shifts the attention from individual product-centric development to software product line development where the focus is on constructing reusable assets from which customer-specific products are obtained. This paper tackles the maintenance...
Many C+ + extractors exist that produce syntax trees, call graphs, and metrics from C++ code, yet few offer integrated querying, navigation, and visualization of source- code-level facts to the end-user. We present an interactive reverse engineering environment which supports reverse- engineering tasks on C/C++ code, e.g. set up the extraction process, apply user-written queries on the extracted facts,...
In this demonstration, we present an Eclipse plug-in that automatically identifies type-checking bad smells in Java source code, and resolves them by applying the "replace conditional with polymorphism" or "replace type code with state/strategy " refactorings. To the best of our knowledge there is a lack of tools that identify type-checking bad smells. Moreover, none of the state-of-the-art...
Service-oriented architecture (SOA) has become an increasingly popular mechanism for achieving interoperability between systems. An attractive benefit of SOA adoption is that it enables existing legacy systems to expose their functionality as services. The Service Migration and Reuse Technique (SMART) is a technique to help organizations make initial decisions about the feasibility of reusing legacy...
In this paper, we outline a service level agreement (SLA) management model. The model has been elicited within four industrial companies. Hence, it reflects current state of industrial practice.
Databases are continuously evolving environments, where design constructs are added, removed or updated rather often. Small changes in the database configurations might impact a large number of applications and data stores around the system: queries and data entry forms can be invalidated, application programs might crash. HECATAEUS is a tool, which represents the database schema along with its dependent...
Aspect-oriented design needs to be systematically assessed with respect to modularity flaws caused by the realization of driving system concerns, such as tangling, scattering, and excessive concern dependencies. As a result, innovative concern metrics have been defined to support quantitative analyses of concern's properties. However, the vast majority of these measures have not yet being theoretically...
We present the results of two controlled experiments carried out to compare the support given by the ER and UML class diagrams during the maintenance of data models. The experiments involved master and bachelor students performing maintenance tasks on data models represented by ER and UML class diagrams. The results reveal that the two notations give in general the same support. In particular, the...
Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects...
To understand the evolution of software, researchers have developed a plethora of tools to parse, model, and analyze the history of systems. Despite their usefulness, a common downside of such tools is that their use comes with many strings attached, such as installation, data formats, usability, etc. The result is that many tools are only used by their creators, which is detrimental to cross-fertilization...
Effort to evolve and maintain a software system is likely to vary depending on the amount and frequency of change requests. This paper proposes to model change requests as time series and to rely on time series mathematical framework to analyze and model them. In particular, this paper focuses on the number of new change requests per KLOC and per unit of time. Time series can have a two-fold application:...
With an ever-increasing amount of software in place, the importance and ubiquity of software maintenance is continuously growing. Another more recent trend is to "offshore" such work to low-wage countries with still untapped engineering resources. However, software maintenance typically requires intensive customer contact, short iteration cycles, and fast response times which is counter...
Clustering is a data mining technique that allows the grouping of data points on the basis of their similarity with respect to multiple dimensions of measurement. It has also been applied in the software engineering domain, in particular to support software quality assessment based on source code metrics. Unfortunately, since clusters emerge from metrics at the source code level, it is difficult to...
Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We have been recently involved in a migration project aiming at porting an old, large (8 MLOC) legacy banking system to a modern architecture. The goal of the project is: (I) moving from an old, proprietary language to Java;...
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.