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.
Background: Software effort estimates are necessary and critical at an early phase for decision makers to establish initial budgets, and in a government context to select the most competitive bidder for a contract. The challenge is that estimated software requirements is the only size information available at this stage, compounded with the newly increasing adoption of agile processes in the US DoD...
In open software development environment, a large number of feature requests with mixed quality are often posted by stakeholders and usually managed in issue tracking systems. Thoroughly understanding and analyzing the real intents that feature requests imply is a labor-intensive and challenging task. In this paper, we introduce an approach to understand feature requests automatically. We generate...
Links between issue reports and corresponding fix commits are widely used in software maintenance. The quality of links directly affects maintenance costs. Currently, such links are mainly maintained by error-prone manual efforts, which may result in missing links. To tackle this problem, automatic link recovery approaches have been proposed by building traditional classifiers with positive and negative...
Open source software systems are based on the principle of open collaboration for innovation and production. They highly depend on volunteer developers contributions for their existence and continuity; attracting new volunteer developers is crucial for the OSS community sustainability. However, new developers might be hesitant to join and participate to a project due to many obstacles such as lack...
Developers intend to improve the quality of the software as it evolves. However, as software becomes larger and more complex, those intended actions may lead to unintended consequences. Analyzing change in software quality among different releases overlooks fine-grained changes that each commit introduces. We believe that studying software quality before and after each commit (commit-impact analysis)...
Analyses of the interactions among quality requirements (QRs) have often found that optimizing on one QR will cause serious problems with other QRs. As just one relevant example, one large project had an Integrated Product Team optimize the system for Security. In doing so, it reduced its vulnerability profile by having a single-agent key distribution system and a single copy of the data base – only...
Being highly maintainable is the key to reducing approximately 75% of most systems' life cycle costs. Software maintainability is defined as the ease with which a software system or a component can be modified, to correct faults, improve performance or other attributes, or adapt to a changed environment. There exist metrics that can help developers measure and analyze the maintainability level of...
This Technical Briefing describes the nature of Software Qualities (SQs), ilities, or non-functional requirements (reliability, usability, affordability, etc.), and discusses the importance of understanding their nature and interrelationships, and of bringing them into balance in the practice of software engineering.The relevance and timeliness of this topic reflects the current and future trends...
Software cost and effort estimation is a necessary step in the software development lifecycle to track progress, manage resources, and negotiate. Though many accepted cost models exist, local calibration results in more accurate estimates. Locally calibrating Unified Code Count (UCC)’s dataset based on COCOMO (Constructive Cost Model)® II helped UCC’s development team learn which factors affected...
Open Source Software (OSS) is distributed and maintained collaboratively by developers all over the world. However, frequent personnel turnover and lack of organizational management makes it difficult to capture the actual development effort. Various OSS maintenance effort estimation approaches have been developed to provide a way to understand and estimate development effort. The goal of this study...
Open source projects rely on issue tracking systems such as JIRA or online forums to keep track of users' feedback, expectations and requested features. However, since users are not fully aware of existing features, when submitting new feature requests, redundant requests often appear in the new feature list. It is a waste of time and effort for project contributors to manually identify and reject...
Software cost estimates become more accurate as more information becomes available, but are needed early for business case analyses, bids, and resource management. Use Case Points satisfy the ability to make software size estimates early in the lifecycle because they only require understanding how an actor will use the system. Though Use Case Points are easy to calculate, they might over-simplify...
With respect to system thinking, a T-shaped person is one who has technical depth in at least one aspect of the system's content, and a workable level of understanding of a fair number of the other system aspects. Many pure computer science graduates are strongly I-shaped, with a great deal of depth in software technology, but little understanding of the other disciplines involved in such areas...
Large or critical software projects often identify particularly-critical quality attributes (QAs), often called non-functional requirements or ilities, and organize Integrated Product Teams (IPTs) to address them. Frequently, the resulting IPT solutions include architectural decisions that address the QA of interest, but seriously conflict with other QAs which are also important but less-well analyzed...
With respect to system thinking, a T-shaped person is one who has technical depth in at least one aspect of the system's content, and a workable level of understanding of a fair number of the other system aspects. Many pure computer science graduates are strongly I-shaped, with a great deal of depth in software technology, but little understanding of the other disciplines involved in such areas as...
Real-client, team project courses provide excellent opportunities for performing empirical research in software engineering (SE). Compared to empirical research on large, multi-year SE projects, a course with several team projects per year is the SE research equivalent of the fruit fly in species evolution research. Although their predictive power for large-project SE is more suggestive than definitive,...
Which are the consequences of Lehman's Laws of Software Evolution for the productivity of incrementally developed projects? The concept of Incremental Development Productivity De-cline (IDPD), which deals with how the productivity of incrementally developed software develops over its increments, is introduced. It is explained how Lehman's Laws of Software Evolution apply to it and how maintenance...
Is quality really free? Often, but not in many situations. Are organizations getting the best value for their investments in reliability? Frequently not. If different stakeholders are relying on the system and software for different properties, is there a single reliability metric to manage to? Frequently not. Is reliability affected by decisions on other system and software ilities? Often quite seriously...
This presentation will summarize four decades of conducting empirical studies in industry in the area of parametric estimation models. It will identify several critical success factors, and will compare them to those of other types of empirical studies. Finally, synergies about different forms of empirical studies will be discussed.
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.