Vol 7 No.2
ABSTRACT Various factors affect the impact of agile factors on the continuous delivery of software projects. This is a major reason why projects perform differently- some failing and some succeeding- when they implement some agile practices in various environments. This is not helped by the fact that many projects work within limited budget while project plans also change-- making them to fall into some sort of pressure to meet deadline when they fall behind in their planned work. This study investigates the impact of pair programming, customer involvement, QA Ability, pair testing and test driven development in the pre-release and post -release quality of software projects using system dynamics within a schedule pressure blighted environment. The model is validated using results from a completed medium-sized software. Statistical results suggest that the impact of PP is insignificant on the pre-release quality of the software while TDD and customer involvement both have significant effects on the pre-release quality of software. Results also showed that both PT and QA ability had a significant impact on the post-release quality of the software.
ABSTRACT This paper analyzes the change history of various software systems for understanding their evolutionary behavior with respect to the type of changes performed over a period of time. The main objectives of this research work are: (a) What types of changes are most likely to occur in a software system during its evolution? (b) Is there any pattern in the type of changes performed over time in a system? An automated keyword based categorization technique is applied to the textual description of commit records of the software systems to categorize change activities into various types such as: Adaptive, Corrective, Perfective, Enhancement, and Preventive. The study finds that corrective changes are the maximum and preventive changes are the least in the software systems analyzed here.
ABSTRACT Software vulnerability is a weakness that can be exploited to get access to the code making the software highly insecure. To make the software secure, vulnerabilities must be identified and corrected. As identifying weaknesses manually in large programs is time consuming, the process needs to be automated. This paper discusses a tool called SecCheck developed to identify vulnerabilities in Java code. The tool takes Java source files as input, stores each line in memory and scans to find vulnerabilities. A warning message is displayed when vulnerability is found. The tool can detect critical software vulnerabilities not found by most of the other tools as well as calculate Degree of Insecurity, a metric defined in this paper. SecCheck has been used to calculate the Degree of Insecurity in two classes of programs: one written by experienced Java programmers and the other by students. The experimental results are discussed.
ABSTRACT Software testing is performed to validate that software under test meets all requirements. With the increase in software developing platforms, developers may commit those errors, which, if not tested with appropriate test cases, may lead to false confidence in software testing. In this paper, we proposed that building quality source code documentation can help in predicting such errors. To validate this proposal, we performed an initial study and found that if software is well documented, a tester may predict the possible set of errors that developers may commit, and hence, may select better test cases that target those faults. From this study, it has been observed that proper code documentation can help in selecting appropriate test cases from candidate test cases and can lead to more effective software testing.