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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Beck, K.: Embracing change with extreme programming. IEEE Comput. 32(10), 70–77 (1999)
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)
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
Morgan, C.: Programming from Specifications. Prentice Hall, Upper Saddle River (1990)
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
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
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
Jones, C.B.: Systematic Software Development Using VDM, 2nd edn. Prentice Hall, Upper Saddle River (1990)
Weiser, M.: Program slicing. IEEE Trans. Softw. Eng. 10(4), 352–357 (1984)
Gannon, J., McMullin, P., Hamlet, R.: Data abstraction implementation, specification and testing. ACM Trans. Program. Lang. Syst. 3(3), 211–223 (1981)
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)
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)
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
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
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)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, Burlington (2007)
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
Burton, S.: Automated Testing from Z Specifications. TR YCS-2000-329. University of York, UK (2000)
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
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
Khurshid, S., Marinov, D.: TestEra: specification-based testing of java programs using SAT. Autom. Softw. Eng. 11(4), 403–434 (2004)
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
Manifesto for agile software development, August 2001
Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile software development methods: review and analysis. Espoo 2002, vol. 478. VTT Publications (2002)
Acknowledgement
This work was supported by JSPS KAKENHI Grant Number 26240008.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)