Learn More
Software maintenance is one of the tedious as well as costly phases in the software development life cycle. It starts immediately after the software product is delivered to the customer and ends when the product is no longer in use. There are various activities carried out during software maintenance phase such as the addition of new features, deletion of(More)
Bad Smells are certain structures in the software which violates the design principles and ruin the software quality. In order to deals with the bad smells, often refactoring treatment is provided in the code which further improves the software quality. However, it's not possible to refactor each and every class of the software in maintenance phase due to(More)
Today estimating the software size, cost and effort, effectively and accurately is probably the biggest challenge faced by software developers. It has major implications for the management of software development because both the over and under estimations have direct impact for causing damage to software companies. This process of changing the software(More)
Software requirements, for complex projects, often contain specifications of non-functional attributes (e.g., security-related features). The process of analyzing such requirements is laborious and error prone. Due to the inherent free-flowing nature of software requirements, it is tempting to apply Natural Language Processing (NLP) based Machine Learning(More)
—Software maintainability is defined as the ease with which modifications could be made in to the software once it is delivered to the customer. While evaluating the quality of the software product, software maintainability is one of the most important aspects and it is desirable that the software should be designed and coded in such a way that it becomes(More)
The software industry is moving swiftly towards agile methodology to ensure quality, reliability and scalability of software products delivered since it provides alternatives to the traditional project management techniques. Moreover, the agile approach also helps in business to address the problem of unpredictability. Scrum is the most commonly used agile(More)
It is infeasible to develop quality software without software testing. Software testing typically consumes 40-50% of development efforts, even more efforts for systems that require higher levels of reliability. It is a significant part of the software development process. If a software defect is found in latter stages of development process it costs more(More)
Maintenance is the most expensive phase of software and during this process refactoring is performed to improve the code without affecting its external behaviour. This study examines the effects of refactoring on maintainability using five proprietary software systems. Internal quality attributes were measured using design metrics suite whereas external(More)