Skip to main content

Software Construction Monitoring and Predicting for Human-Machine Pair Programming

  • Conference paper
  • First Online:
Book cover Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11392))

Abstract

Pair programming is one of the promising techniques advocated in agile development paradigm, but it tends to be more costly than one person-based programming and to lack a rigorous principle for governing the cooperation of the two programmers. In this paper, we put forward a novel technique called Software Construction Monitoring and Predicting to study an intelligent and automatic approach to human-machine pair programming. Its aim is to automatically, dynamically monitor the process of software construction for fault detection and to predict the possible future contents of the software towards its error-free completion. We describe the theoretical foundation and frameworks for Software Construction Monitoring (SCM) and Software Construction Predicting (SCP), respectively. We also discuss how SCMP can support the Specification-Based programming paradigm. Finally, we use simple examples to illustrate how SCM and SCP can be supported.

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

References

  1. Beck, K.: Embracing change with extreme programming. IEEE Comput. 32(10), 70–77 (1999)

    Article  Google Scholar 

  2. Cockburn, A., Williams, L.: The costs and benefits of pair programming. In: Extreme Programming Examined, pp. 223–243. Addison-Wesley Longman Publishing Co., Inc. (2001)

    Google Scholar 

  3. Liu, S.: Formal Engineering for Industrial Software Development Using the SOFL Method. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-07287-5. ISBN 3-540-20602-7

    Book  MATH  Google Scholar 

  4. Morgan, C.: Programming from Specifications. Prentice Hall, Upper Saddle River (1990)

    MATH  Google Scholar 

  5. Liu, S., McDermid, J.A.: Dynamic sets and their application in VDM. In: Proceedings of 1993 ACM Symposium on Applied Computing, pp. 187–192. ACM Press, February 1993

    Google Scholar 

  6. Liu, S.: Testing-based formal verification for theorems and its application in software specification verification. In: Aichernig, B.K.K., Furia, C.A.A. (eds.) TAP 2016. LNCS, vol. 9762, pp. 112–129. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41135-4_7

    Chapter  Google Scholar 

  7. Li, S., Liu, S.: A software tool to support scenario-based formal specification for error prevention. In: Tian, C., Nagoya, F., Liu, S., Duan, Z. (eds.) SOFL+MSVL 2017. LNCS, vol. 10795, pp. 187–199. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-90104-6_12

    Chapter  Google Scholar 

  8. Jones, C.B.: Systematic Software Development Using VDM, 2nd edn. Prentice Hall, Upper Saddle River (1990)

    MATH  Google Scholar 

  9. Weiser, M.: Program slicing. IEEE Trans. Softw. Eng. 10(4), 352–357 (1984)

    Article  Google Scholar 

  10. Gannon, J., McMullin, P., Hamlet, R.: Data abstraction implementation, specification and testing. ACM Trans. Program. Lang. Syst. 3(3), 211–223 (1981)

    Article  Google Scholar 

  11. Bouge, L., Choquet, N., Fribourg, L., Gaudel, M.-C.: Test set generation from algebraci specifications using logic programing. J. Syst. Softw. 6(4), 343–360 (1986)

    Article  Google Scholar 

  12. Bernot, G., Gaudel, M.C., Marre, B.: Software testing based on formal specifications: a theory and a tool. Softw. Eng. J. 6(6), 387–405 (1991)

    Article  Google Scholar 

  13. Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Woodcock, J.C.P., Larsen, P.G. (eds.) FME 1993. LNCS, vol. 670, pp. 268–284. Springer, Heidelberg (1993). https://doi.org/10.1007/BFb0024651

    Chapter  Google Scholar 

  14. Legeard, B., Peureux, F., Utting, M.: Automated boundary testing from Z and B. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 21–40. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45614-7_2

    Chapter  MATH  Google Scholar 

  15. Legeard, B., Peureux, F., Utting, M.: Controlling test case explosion in test generation from B formal models. Softw. Test. Verif. Reliab. 14, 81–103 (2004)

    Article  Google Scholar 

  16. Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, Burlington (2007)

    Google Scholar 

  17. Helke, S., Neustupny, T., Santen, T.: Automating test case generation from Z specifications with Isabelle. In: Bowen, J.P., Hinchey, M.G., Till, D. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 52–71. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0027283

    Chapter  Google Scholar 

  18. Burton, S.: Automated Testing from Z Specifications. TR YCS-2000-329. University of York, UK (2000)

    Google Scholar 

  19. Lúcio, L., Samer, M.: 12 technology of test-case generation. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 323–354. Springer, Heidelberg (2005). https://doi.org/10.1007/11498490_15

    Chapter  Google Scholar 

  20. Donat, M.R.: Automating formal specification-based testing. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997. LNCS, vol. 1214, pp. 833–847. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0030644

    Chapter  Google Scholar 

  21. Khurshid, S., Marinov, D.: TestEra: specification-based testing of java programs using SAT. Autom. Softw. Eng. 11(4), 403–434 (2004)

    Article  Google Scholar 

  22. Khurshid, S., Marinov, D., Shlyakhter, I., Jackson, D.: A case for efficient solution enumeration. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 272–286. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24605-3_21

    Chapter  Google Scholar 

  23. Manifesto for agile software development, August 2001

    Google Scholar 

  24. Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile software development methods: review and analysis. Espoo 2002, vol. 478. VTT Publications (2002)

    Google Scholar 

Download references

Acknowledgement

This work was supported by JSPS KAKENHI Grant Number 26240008.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shaoying Liu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Liu, S. (2019). Software Construction Monitoring and Predicting for Human-Machine Pair Programming. In: Duan, Z., Liu, S., Tian, C., Nagoya, F. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2018. Lecture Notes in Computer Science(), vol 11392. Springer, Cham. https://doi.org/10.1007/978-3-030-13651-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-13651-2_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-13650-5

  • Online ISBN: 978-3-030-13651-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics