{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,31]],"date-time":"2025-12-31T19:34:58Z","timestamp":1767209698351,"version":"build-2238731810"},"posted":{"date-parts":[[2019,6,11]]},"group-title":"PeerJ Preprints","reference-count":0,"publisher":"PeerJ","license":[{"start":{"date-parts":[[2019,6,11]],"date-time":"2019-06-11T00:00:00Z","timestamp":1560211200000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:p>Mutation testing has been well-known for its efficacy to assess test quality, and recently it has started to be applied in the industry as well. However, what should a developer do when confronted with a low mutation score? Should the test suite be reinforced to increase the mutation score, or should the production code be improved as well, to make the creation of better tests possible? In this paper, we investigate whether testability and observability metrics are correlated with the mutation score on six open source Java projects. We observe a correlation between observability metrics and the mutation score, e.g., test directness seems to be an essential factor. Based on our insights from the correlation study, we propose a number of \"mutation score anti-patterns\", which enable software engineers to refactor their existing code to be able to improve the mutation score. In doing so, we observe that relatively simple refactoring operations enable an improvement in the mutation score.<\/jats:p>","DOI":"10.7287\/peerj.preprints.27794v1","type":"posted-content","created":{"date-parts":[[2019,6,11]],"date-time":"2019-06-11T10:52:39Z","timestamp":1560250359000},"source":"Crossref","is-referenced-by-count":0,"title":["How to kill them all: an exploratory study on the impact of code observability on mutation testing"],"prefix":"10.7287","author":[{"given":"Qianqian","family":"Zhu","sequence":"first","affiliation":[{"name":"Software Engineering Research Group, Delft University of Technology, Delft, South Holland, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2413-3935","authenticated-orcid":true,"given":"Andy","family":"Zaidman","sequence":"additional","affiliation":[{"name":"Software Engineering Research Group, Delft University of Technology, Delft, South Holland, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Annibale","family":"Panichella","sequence":"additional","affiliation":[{"name":"Software Engineering Research Group, Delft University of Technology, Delft, South Holland, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"4443","container-title":[],"original-title":[],"link":[{"URL":"https:\/\/peerj.com\/preprints\/27794v1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/peerj.com\/preprints\/27794v1.xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/peerj.com\/preprints\/27794v1.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/peerj.com\/preprints\/27794v1.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,12,23]],"date-time":"2019-12-23T20:58:03Z","timestamp":1577134683000},"score":1,"resource":{"primary":{"URL":"https:\/\/peerj.com\/preprints\/27794v1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,6,11]]},"references-count":0,"aliases":["10.7287\/peerj.preprints.27794"],"URL":"https:\/\/doi.org\/10.7287\/peerj.preprints.27794v1","relation":{},"subject":[],"published":{"date-parts":[[2019,6,11]]},"subtype":"preprint"}}