Mutation testing is a fault based testing technique that helps generating effective test cases for software under test. Mutation testing is computationally expensive by nature, which is the biggest hindrance in getting acceptability in Software industry. Evolutionary testing provides foundation to automate the test case generation process. Using evolutionary testing in conjunction with mutation testing can reduce computational cost and the whole process can be automated to facilitate testers. The existing techniques are incapable of handling object's state problem and they cannot identify logical software bugs that hide themselves in equivalent mutants. Neither they evaluate fitness for object's state variables separately nor do they use control flow for comparison. In this paper we propose a new fitness function for the evolutionary mutation testing that supports all object oriented features, guides the search by considering object's state separately, helps determining infection in the object's state at mutated statement, and reveals potential software bugs masked in equivalent mutants. Our initial experiments show that this novel fitness function can help minimizing mutation testing cost, reducing the number of equivalent mutants, providing better guidance to search, and improving effectiveness of test cases.
Quality can never be an accident and therefore, software engineers are paying immense attention to produce quality software product. Source code readability is one of those important factors that play a vital role in producing quality software. The code readability is an internal quality attribute that directly affects the future maintenance of the software and reusability of same code in similar other projects. Literature shows that readability does not just rely on programmer's ability to write tidy code but it also depends on programming language's syntax. Syntax is the most visible part of any programming language that directly influence the readability of its code. If readability is a major factor for a given project, the programmers should know about the language that they shall choose to achieve the required level of quality. For this we compare the readability of three most popular high-level programming languages; Java, C#, and C++. We propose a comprehensive framework for readability comparison among these languages. The comparison has been performed on the basis of certain readability parameters that are referenced in the literature. We have also implemented an analysis tool and performed extensive experiments that produced interesting results. Furthermore, to judge the effectiveness of these results, we have performed statistical analysis using SPSS (Statistical Package for Social Sciences) tool. We have chosen the Spearman's correlation ad Mann Whitney's T-test for the same. The results show that among all three languages, Java has the most readable code. Programmers should use Java in the projects that have code readability as a significant quality requirement.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.