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.
Dependency-based software change impact analysis is the domain concerned with estimating the sets of artifacts impacted by a change to a related artifact. Research has shown that analysing the various class dependency types independently will never completely reveal the impact sets. Therefore, dependency types are combined to improve the precision of estimated when compared to impact sets. Software...
We focus on developer code review performance, and analyze whether the age of a subject affects the efficiency and preciseness of their code. Generally, older coders have more experience. Therefore, the age is considered to positively affect code review. However, in our past study, code understanding speed was relatively slow for older subjects, and memory is needed to understand programs. Similarly,...
Memory leaks are one of the primary causes of software aging. Despite of recent countermeasures in C/C++ such as smart pointers, leak-related defects remain a troublesome issue in C/C++ code, especially in legacy applications.We propose an approach for automatic detection of memory leaks in C/C++ programs based on characterizing memory allocation sites via the age distribution of the non-disposed...
The aim of this study is to compare the successes of various distance metrics and to determine the most appropriate methods in order to detect similarities among textual documents written in Turkish. Computing similarities between text documents is the basic step of plagiarism detection, and text mining methods like author detection, text classification and clustering. Therefore, plagiarism detection...
Massive Open Online Courses (MOOCs) focus on manifold subjects, ranging from social sciences over languages to technical skills, and use different means to train the respective skills. MOOCs that are teaching programming skills aim to incorporate practical exercises into the course corpus to give students the hands-on experience necessary for understanding and mastering programming. These exercises,...
Countless various malware families provide huge variety of functionalities which allow them to do many malicious activities. This conditions led to development of many different analysis methods. In this paper, we focused on reverse engineering, which is elementary part of static analysis. We evaluate current Java bytecode decompilers. We evaluate the output from current Java bytecode decompilers...
Metric suites to assess Web Service quality attributes have been proposed recently. In particular, services interfaces in WSDL (Web Service Description Language) have distinct intrinsic aspects (e.g., size or complexity) able to be measured. We present an approach to prevent a high complexity on services interfaces (WSDLs), to ease consumers to reason about services' offered functionality. Mostly,...
During software maintenance, developers usually deal with a significant number of software change requests. As a part of this, they often formulate an initial query from the request texts, and then attempt to map the concepts discussed in the request to relevant source code locations in the software system (a.k.a., concept location). Unfortunately, studies suggest that they often perform poorly in...
Although considered one of the most important decisions in a software development lifecycle, empirical evidence on how developers perform and perceive architectural changes is still scarce. Given the large implications of architectural decisions, we do not know whether developers are aware of their changes' impact on the software's architecture, whether awareness leads to better changes, and whether...
Each programmer has his own way of programming but some criteria can be applied when analysing code: there are a set of best practices that can be checked, or “not so common” instructions that are mainly used by experts that can be found. Considering that all programs that are going to be compared are correct, it's possible to infer the experience level of the programmer or the proficiency level of...
Spectrum-based fault localization (SFL), the technique producing a rank list of statements in descending order of their suspiciousness values, is nowadays widely used in current automated program repair tools. There are two different algorithms for these tools to choose statements selected for modification to produce candidate patches from the list: one is the rank-first algorithm based on suspiciousness...
Care and great e.ort are often taken to dress program code of libraries, just as model implementations, in its most presentable form, which includes adherence to strict coding standards, careful selection of identifiers, avoiding unnecessary constructs, etc. However, a presentable dress is not a janitor's uniform and is often inferior to the more lax working outfit.The spartanizer is a tool that brings...
The highly imbalanced nature of software fault datasets results in poor performance of machine leaning techniques used for software fault prediction. The objective of this paper is to evaluate sampling techniques and Meta-Cost learning in software fault prediction to alleviate problem of imbalanced data. We evaluate four sampling techniques in metrics as well as code smells based fault prediction...
Many real-world systems can be represented as networks, such as social networks, Internet, metabolic networks, food webs, neural networks, communication and distribution networks. The same approach can be adopted for the software-systems. Although this topic has been subject of research for some time now, there are still unresolved problems. In our work, we have analyzed ten versions of Java development...
Automatic recommendations based on skill matching techniques can prove to be an important component of an online recruitment platform, being able to lower the costs for employers, ease the process for candidates and increase the hiring quality overall. This is important nowadays, when online recruitment plays a major role in the hiring process. The main challenges in this area consist in providing...
To measure object-oriented design quality, metric-based approaches have been established. These have then been enhanced by identifying design smells in code. While these approaches are useful for identifying hot spots that should be refactored, they are still too vague to sufficiently guide software developers to implement improvements. This is why our previous work focuses on measuring the compliance...
Model-based software development promises improvements in terms of quality and cost by raising the abstraction level of the development from code to models, but also requires mature techniques and tools. Although Eclipse Modelling Framework (EMF) introduces a default persistence mechanism for models, namely XMI, its usage is often limited as model size increases. To overcome this limitation, during...
Code portability is a desirable non-functional requirement. The most established metric evaluating it consists of counting the number of instructions that use platform specific APIs. Generally, instructions using APIs are preceded or followed by related code that e.g. prepares some input for a call or analyses the return value. This paper proposes a taint analysis approach to identify code portions...
Determining complexity of software is always a prime concern for the software developers. Higher the complexity, difficult to maintain the software. If software undergoes maintenance again and again, it gradually decreases the quality of software and cost of maintenance increases. One import concept of software engineering that improves the quality of software and makes the software more maintainable...
The main target of 5G network technologies is to offer radically increased user capacity and quality of service, while saving energy and reducing investment and operating costs. A key technology in this pursue is the cloudification of the virtualized network functions, which can eventually create an environment where services for network operators and application / content providers are chained, configured,...
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.