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.
Steadily increasing complexity of software systems makes them difficult to configure and use without special IT knowledge. One of the solutions is to improve software systems making them “smarter”, i.e. to supplement software systems with features of self-management, at least partially. This paper describes several software components known as smart technologies, which facilitate software use and...
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...
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...
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...
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...
Code-based metrics and network analysis based metrics are widely used to predict defects in software. However, their effectiveness in predicting bugs either individually or together is still actively researched. In this paper, we evaluate the performance of these metrics using three different techniques, namely, Logistic regression, Support vector machines and Random forests. We analysed the performance...
At the core of model-driven software development, model-transformation compositions enable automatic generation of executable artifacts from models. Although the advantages of transformational software development have been explored by numerous academics and industry practitioners, adoption of the paradigm continues to be slow, and limited to specific domains. The main challenge to adoption is the...
During the software development lifecycle, studies have shown that over 75% of project costs originate from the maintenance phase. Analysis of the processes within the maintenance phase could prove beneficial since most maintenance activities revolve around source code. Accurate estimations of the maintenance effort spent on code changes would enable cost effective management of resources. In this...
The analysis of execution traces can reveal important information about the behavioral aspects of complex software systems, hence reducing the time and effort it takes to understand and maintain them. Traces, however, tend to be considerably large which hinders their effective analysis. Existing traces analysis tools rely on some sort of visualization techniques to help software engineers make sense...
We propose an automated approach for design defect detection. It exploits an algorithm that automatically finds rules for the detection of possible design defects, thus relieving the designer from doing so manually. Our algorithm derives rules in the form of metric/threshold combinations, from known instances of design defects (defect examples). Due to the large number of possible combinations, we...
Software systems tend to grow larger with time, become less structured with changes and less understandable with stuff turnover. These systems are not isolated in their landscape, rather connected to several other systems with heterogeneous architectures supported by wide diverse of communications. These systems are applied to maintenance efforts from the moment they are delivered. Within the maintenance...
Any changes for maintenance or evolution purposes may break existing working features, or may violate the requirements established in the previous software releases. Regression testing is essential to avoid these problems, but it may be ended up with executing many time-consuming test cases. This paper tries to address prioritizing requirements-based regression test cases. To this end, system-level...
Test-suite augmentation for evolving software -- the process of augmenting a test suite to adequately test software changes -- is necessary for any program that undergoes modifications as part of its development and maintenance cycles. Recently, we presented a new technique for test-suite augmentation based on leveraging the propagation conditions for the effects of changes. Although empirical studies...
Analytical approaches based on rigorous mathematical foundation are getting more importance in service-oriented computing (SOC) research area. Defining appropriate metrics to measure service quality attributes is one of the key activities in this context which plays an important role in construction of quality service-oriented solutions. In this paper, some metrics are introduced for measuring structural...
The complexity of Web services composition process is intuitively relevant to the effects such as readability, testability, reliability, and maintainability. Analyzing the complexity at all stages of process design and development helps avoid the drawbacks associated with high-complexity processes. In this paper, we present a control-flow complexity measure of the structured process of Web service...
Calculating software complexity is one of the most challenging problems in the Software Engineering due to using them in estimating errors, having a landscape of software reliability, approximating costs of software implementation and maintenance, and delivering software with better quality. Most of the recent researches on calculating the software's complexity focus on special directions and goals...
Since object oriented system is becoming more pervasive, it is necessary that software engineers have quantitative measurements for accessing the quality of designs at both the architectural and components level. These measures allow the designer to access the software early in the process, making changes that will reduce complexity and improve the continuing capability of the product. Object oriented...
Measuring UML class diagram complexity can help developers select one with lowest complexity from a variety of different designs with the same functionality; also provide guidance for developing high quality class diagrams. This paper compared the advantages and disadvantages of two typical class-diagram complexity metrics based on statistics and entropy-distance respectively from the view of newly...
The following short paper describes a tool supported method for measuring web service interfaces. The goal is to assess the complexity and quality of these interfaces as well as to determine their size for estimating evolution and testing effort. Besides the metrics for quantity, quality and complexity, rules are defined for ensuring maintainability. In the end a tool - WSDAudit - is described which...
Background: Several factors may impact the process of software maintenance and evolution of free software projects, including structural complexity and lack of control over its contributors. Structural complexity, an architectural concern, makes software projects more difficult to understand, and consequently more difficult to maintain and evolve. The contributors in a free software project exhibit...
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.