Skip to main content

Synthesis of Equivalent Method Calls in Guava

  • Conference paper
  • First Online:
Search-Based Software Engineering (SSBSE 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9275))

Included in the following conference series:

Abstract

We developed a search-based technique to automatically synthesize sequences of method calls that are functionally equivalent to a given target method. This paper presents challenges and results of applying our technique to Google Guava. Guava heavily uses Java generics, and the large number of classes, methods and parameter values required us to tune our technique to deal with a search space that is much larger than what we originally envisioned. We modified our technique to cope with such challenges. The evaluation of the improved version of our technique shows that we can synthesize 188 equivalent method calls for relevant components of Guava, outperforming by 86 % the original version.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    A replication package is available at http://star.inf.usi.ch/sbes-challenge.

References

  1. Carzaniga, A., Goffi, A., Gorla, A., Mattavelli, A., Pezzè, M.: Cross-checking oracles from intrinsic software redundancy. In: International Conference on Software Engineering (ICSE), pp. 931–942. ACM (2014)

    Google Scholar 

  2. Carzaniga, A., Gorla, A., Mattavelli, A., Perino, N., Pezzè, M.: Automatic recovery from runtime failures. In: International Conference on Software Engineering (ICSE), pp. 782–791. IEEE (2013)

    Google Scholar 

  3. Carzaniga, A., Mattavelli, A., Pezzè, M.: Measuring software redundancy. In: International Conference on Software Engineering (ICSE), pp. 156–166. IEEE (2015)

    Google Scholar 

  4. De Nicola, R., Hennessy, M.: Testing equivalences for processes. Theoret. Comput. Sci. 34(1–2), 83–133 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  5. Fraser, G., Arcuri, A.: EvoSuite: automatic test suite generation for object-oriented software. In: Symposium on the Foundations of Software Engineering (FSE), pp. 416–419. ACM (2011)

    Google Scholar 

  6. Fraser, G., Arcuri, A., McMinn, P.: A memetic algorithm for whole test suite generation. J. Syst. Softw. 103, 311–327 (2015)

    Article  Google Scholar 

  7. Goffi, A., Gorla, A., Mattavelli, A., Pezzè, M., Tonella, P.: Search-based synthesis of equivalent method sequences. In: Symposium on the Foundations of Software Engineering (FSE), pp. 366–376. ACM (2014)

    Google Scholar 

  8. Harman, M., Hu, L., Hierons, R.M., Wegener, J., Sthamer, H., Baresel, A., Roper, M.: Testability transformation. IEEE Trans. Softw. Eng. (TSE) 30(1), 3–16 (2004)

    Article  MATH  Google Scholar 

Download references

Acknowledgment

This work was supported in part by the Swiss National Science Foundation with projects SHADE (grant n. 200021-138006) and ReSpec (grant n. 200021-146607). The authors would like to thank Mauro Pezzè and Paolo Tonella for their contributions to the previous version of the technique.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Mattavelli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Mattavelli, A., Goffi, A., Gorla, A. (2015). Synthesis of Equivalent Method Calls in Guava. In: Barros, M., Labiche, Y. (eds) Search-Based Software Engineering. SSBSE 2015. Lecture Notes in Computer Science(), vol 9275. Springer, Cham. https://doi.org/10.1007/978-3-319-22183-0_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22183-0_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22182-3

  • Online ISBN: 978-3-319-22183-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics