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.
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...
Software maintainability is one important aspect in the evaluation of software evolution of a software product. Due to the complexity of tracking maintenance behaviors, it is difficult to accurately predict the cost and risk of maintenance after delivery of software products. In an attempt to address this issue quantitatively, software maintainability is viewed as an inevitable evolution process driven...
The comprehensive understanding of today's software systems is a daunting activity, because of the sheer size and complexity that such systems exhibit. Moreover, software systems evolve, which dramatically increases the amount of data one needs to analyze in order to gain insights into such systems. Indeed, software complexity is recognized as one of the major challenges to the development and maintenance...
Summary form only given. In the past thirty years consumer video game hardware has progressed from simple 8-bit processors, some dedicated display logic and a few kilobytes of memory to high clock rate multi-core processors coupled with a programmable graphics unit, large memories, high capacity optical and fixed drives, network interfaces, high definition audio/video output, and sophisticated user...
Software engineers often inspect program differences when reviewing others' code changes, when writing check-in comments, or when determining why a program behaves differently from expected behavior after modification. Program differencing tools that support these tasks are limited in their ability to group related code changes or to detect potential inconsistencies in those changes. To overcome these...
Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone detection, has been a very active area of research in recent years. Up to now, however, no substantial investigation of the consequences of code cloning on program correctness...
Aspect oriented systems suffer from an issue named pointcut fragility problem, which occurs when a poincut unintentionally captures or misses a given join point as a consequence of apparently harmless modifications of the base elements or system structure. One promising approach to cope with this problem is the definition of pointcuts in terms of elements of an intermediary conceptual model. In this...
Architecture evolution, a key aspect of software evolution, is typically done in an ad hoc manner, guided only by the competence of the architect performing it. This process lacks the rigor of an engineering discipline. In this paper, we argue that architecture evolution must be engineered - based on rational decisions that are supported by formal models and objective analyses. We believe that evolutions...
Software process simulation modeling (SPSM) research has increased in the past two decades. However, most of these models are quantitative, which require detailed understanding and accurate measurement. As the continuous work to our previous studies in qualitative modeling of software process, this paper aims to investigate the structure equivalence and model conversion between quantitative and qualitative...
Software systems have to be changed continuously and evolutionarily throughout the whole time of their development and usage. Meanwhile, the software systems have to remain flexible in order to retain the ability to be extended by additional new features or to be changed. To maintain this ability, known as evolvability, the architecture of such software systems and its evolution must be continuously...
The core assets library is the most important component of any software product line; it evolved responding to organization businesses, origination object, technology renovation and time. From the metric of the core assets library, this paper gives several measurements and their definitions which correlate with the evolution of a core assets library. It is combing with data processing, putting forward...
Currently, most software systems have a dynamic nature and need to evolve at run-time. For this reason, the dynamic reconfiguration of software architectures is a challenge that must be dealt with to enable the creation and destruction of component instances and their links at run-time. This challenge is even greater when there are autonomous composite components which also need reconfiguration capabilities...
Source code is a mixed software artifact, containing information for both the compiler and the developers. While programming language grammar dictates how the source code is written, developers have a lot of freedom in writing identifiers and comments. These are intentional in nature and become means of communication between developers.The goal of this paper is to analyze how the source code vocabulary...
Software intensive systems evolve during their lifetime, which inevitably results in degrading software quality. In order to extend the lifetime of their products, organizations must adopt a more mature - evolutionary - software development approach that pays attention to quality aspects during all phases of the product life cycle. In this paper we list the achievements and lessons learned that were...
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.
Effective life time of any software can be increased many folds by proper and up to date maintenance. Automated software module clustering is a method used by software professionals to recover high-level structure of the system by decomposing the system into smaller manageable subsystems, containing interdependent modules. Once the structure of the system is clear, the understanding of any system...
A better understanding of the individual developers?? performance has been shown to result in benefits such as improved project estimation accuracy and enhanced software quality assurance. However, new challenges of distinguishing the individual activities involved in software evolution arise when considering collaborative development environments. Since software repositories such as version control...
The effort that has been made to study risk management in the context of software architecture and its evolution, has so far focused on output from structured evaluations. However, earlier research shows that formal, structured evaluation is not commonly used in industry. We have performed a survey among software architects, in order to capture a more complete picture of the risk and management issues...
Stakeholders of smart home development often request personalized requirements based on existing services. Requirements under the environment may change at any time even when services are provided correctly, since the stakeholders eventually change their intentions. Evolvability is essential to adapting to the dynamic and ever-changing requirements in response to contextual feedback. To support software...
Software refactoring is to restructure artifacts to improve software quality, especially readability, extensibility, and maintainability, while preserving its external behaviors. Software refactoring has been successfully applied to source code and design models. However, refactoring has not yet been introduced to formal specifications. Compared to source code in programming languages similar to nature...
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.