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.
To increase the success in computer programming courses, it is important to understand the learning process and common difficulties faced by students. Although several studies have investigated possible relationships between students performance and self-regulated learning characteristics in computer programming courses, little attention has been given to the source code produced by students in this...
Program understanding plays a pivotal role in software maintenance and evolution: a deep understanding of code is the stepping stone for most software-related activities, such as bug fixing or testing. Being able to measure the understandability of a piece of code might help in estimating the effort required for a maintenance activity, in comparing the quality of alternative implementations, or even...
Previous research in defect prediction has proposed approaches to determine which files require additional testing resources. However, practitioners typically create tests at a higher level of abstraction, which may span across many files. In this paper, we study software testing, especially test resource prioritization, from a different perspective. We use topic models to generate topics that provide...
This technical briefing provides an overview of how quantitative empirical research methods can be combined with qualitative ones generating the family of empirical software engineering approaches known as mixed-methods. The ultimate aim of such mixed-methods is supporting cause-effect claims combining multiple data types, sources and analyses that provide software practitioners and academicians solid...
This paper investigates two metrics related to the traceability relationships that exist between requirements and architectural design. In particular, we look into cross-cutting requirements, i.e., requirements that are implemented by several components, and, conversely, into overloaded components, i.e., components that implement several requirements. The intuition is that intricate dependencies between...
Software defect prediction provides actionable outputs to software teams while contributing to industrial success. Empirical studies have been conducted on software defect prediction for both cross-project and within-project defect prediction. However, existing studies have yet to demonstrate a method of predicting the number of defects in an upcoming product release. This paper presents such a method...
Crashing of program is an annoying experience for users. Whenever a program crashes, an event log is generated. Sometimes built in crash reporting programs send crash reports automatically to developing site whereas sometimes, user is presented with an option to report the crash himself. This reporting is often useful for the development team to diagnose and fix the problem. It happens quite often...
It is crucial for Internet company to provide highly reliable web-based services. The web-based services always have many components running in the large-scale infrastructure with complex interactions. As an indispensable part of high reliability, the diagnosis remains to be a thorny problem. With the growth of system scale and complexity, it becomes even more difficult. In this paper, we propose...
Continuous Integration (CI) is a common practice in agile software development processes. It improves the quality of the developed software and reduces the risk of integration problems. However, the effectiveness of CI depends heavily on the frequency of integration problems. For systematic improvement of the applied agile development process, the effect of large commits on the likelihood of integration...
In terms of capturing software requirements, the most appropriate elicitation technique must be selected, but what does this mean? This paper makes a comparison between what researchers and software engineers see as adequate technique for capturing relevant information to meet software requirements. A systematic mapping of constructs which researchers define as good techniques is presented and compared...
It is assumed that stability and maintainability are relating to each other. We attempt to verify and validate this assumption in object-oriented paradigm. Two candidate metrics were chosen, one for stability and one for maintainability. CSM is used in stability due to its high accuracy and wide coverage. MI was chosen for maintainability due to its clarity, ease of use and solely based on source...
This paper describes a case study of using developer activity logs as indicators of a program comprehension effort by analyzing temporal sequences of developer actions (e.g., navigation and edit actions). We analyze developer activity data spanning 109,065 events and 69 hours of work on a medium-sized industrial application. We examine potential correlations between different measures of developer...
Software effort estimation is vital but challenging activity during software development. In many small or medium-sized companies, such challenges are stemmed from historical data shortage. The problem can be solved by leveraging cross-company data for effort estimation. While in practice, cross-company effort estimation may not be easy to take because the cross-company data for effort estimation...
Data centers are notorious energy consumers. In fact, studies have shown that for every $1 spent on hardware in the datacenter, $0.50 is spent on powering this hardware over its lifetime. Data centers host real or virtual (i.e., cloud) clusters that often execute large compute jobs using MapReduce, of which Hadoop is a popular implementation. Like other successful open source projects, Hadoop has...
Agile software development describes those methods with iterative and incremental development. This development method came into view to overcome the drawbacks of traditional development methods. Although agile development methods have become very popular since the introduction of the Agile Manifesto in 2001, however, there is an ongoing debate about the strengths and weakness of these methods in...
The presence of anti-patterns and code smells can affect adversely software evolution and quality. Recent work has shown that code smells that appear together in the same file (i.e., collocated smells) can interact with each other, leading to various types of maintenance issues and/or to the intensification of negative effects. It has also been found that code smell interactions can occur across coupled...
The Maintainability Index (MI) metric was proposed in the early nineties to gauge ease of code maintenance. A high value of MI indicates well-constructed code which is easy to maintain and a low MI, the opposite. The metric has been criticized in the past and more recently for its applicability to code and validity more generally. Very few studies however have explored whether the MI correlates strongly...
Previous studies have reported that the performance of a developer can greatly impact the quality of the software he/she has worked on. Such performance can be measured using two developer risk metrics during a particular development period. One is the ratio of the number of bug-introduce commits to the total number of commits made by a developer (i.e., the DQ metric). The other is the proportion...
As developers face ever-increasing pressure to engineer secure software, researchers are building an understanding of security-sensitive bugs (i.e. Vulnerabilities). Research into mining software repositories has greatly increased our understanding of software quality via empirical study of bugs. However, conceptually vulnerabilities are different from bugs: they represent abusive functionality as...
Now a day's software development is growing rapidly. Due to this, there is also a rapid growth in the number of occurrences of defects. In this paper, defect density had been predicted using the Linear Regression Method and had been applied to Static Metrics. It helps to determine that to which module more reliability techniques should be applied. Static metric is used for prediction of defects which...
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.