Smart Development Process Enactment Based on Context Sensitive Sequence Prediction

Abstract

Actual software development processes define the different steps developers have to perform during a development project. Usually these development steps are not described independently from each other—a more or less formal flow of development step is an essential part of the development process definition. In practice, we observe that often the process definitions are hardly used and very seldom lived. One reason is that the predefined general process flow does not reflect the specific constraints of the individual project. For that reasons we claim to get rid of the process flow definition as part of the development process. Instead we describe in this paper an approach to smartly assist developers in software process execution. The approach observes the developer’s actions and predicts his next development step based on the project process history. Therefore we apply machine learning resp. sequence learning approaches based on a general rule based process model and its semantics. Finally we show two evaluations of the presented approach: The data of the first is derived from a synthetic scenario. The second evaluation is based on real project data of an industrial enterprise.

Share and Cite:

Rausch, A. and Deynet, M. (2013) Smart Development Process Enactment Based on Context Sensitive Sequence Prediction. Journal of Computer and Communications, 1, 32-39. doi: 10.4236/jcc.2013.15006.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] L. Northrop, P. Feiler, R. P. Gabriel, J. Goodenough, R. Linger, T. Longstaff, R. Kazman, M. Klein, D. Schmidt, K. Sullivan and K. Wallnau, “Ultra-Large-Scale Systems —The Software Challenge of the Future,” Software Engineering Institute, Carnegie Mellon, Tech. Rep., 2006. http://www.sei.cmu.edu/uls/downloads.html
[2] A. W. Brown and J. A. McDermid, “The Art and Science of Software Architecture,” In: F. Oquendo, Ed., ECSA, Ser. Lecture Notes in Computer Science, Vol. 4758, Springer, 2007, pp. 237-256.
[3] B. Boehm, “Some Future Trends and Implications of System and Software Engineering Processes,” Wiley InterScience, 2006.
[4] D. Rombach, “Integrated Software Process and Product Lines, Unifying the Software Process Spectrum,” 2006.
[5] M. Kabbaj, R. Lbath and B. Coulette, “A Deviation Management System for Handling Software Process Enactment Evolution,” Making Globally Distributed Software Development a Success Story, 2008, pp. 186-197.
[6] K. Mohammed, L. Redouane and C. Bernard, “A Deviation-Tolerant Approach to Software Process Evolution,” Ninth International Workshop on Principles of Software Evolution in Conjunction with the 6th ESEC/FSE Joint Meeting, 2007, pp. 75-78.
[7] D. Jean-Claude, K. Badara and W. David, “The Human Dimension of the Software Process. In: Software Process: Principles, Methodology, and Technology, Lecture Notes in Computer Science,” Bd. 1500, Springer US, 1999, pp. 165-199.
[8] T. DeMarco and T. Lister, “Peopleware, Productive Projects and Teams, Second Edition Featuring Eight All- New Chapters,” Dorset House Publishing Corporation, 1999.
[9] K. Z. Zamli, “Process Modeling Languages: A Literature Review,” Dez-2001. http://myais.fsktm.um.edu.my/278/
[10] S. T. Acuna, “Software Process Modelling.”
[11] P. Armenise, S. Bandinelli, C. Ghezzi und A. Morzenti, “A Survey and Assessment of Software Process Representation Formalisms,” International Journal of Software Engineering and Knowledge Engineering, Bd. 3, 1993, pp. 401-401. http://dx.doi.org/10.1142/S0218194093000197
[12] M. I. Kellner, “Representation Formalisms for Software Process Modeling,” Proceedings of the 4th International Software Process Workshop on Representing and Enacting the Software Process, Devon, United Kingdom, 1988, pp. 93-96. http://dx.doi.org/10.1145/75110.75125
[13] P. H. Feiler und W. S. Humphrey, “Software Process Development and Enactment: Concepts and Definitions,” Software Process, 1993, Second International Conference on the Continuous Software Process Improvement, 1993, pp. 28-40.
[14] M. Hartmann und D. Schreiber, “Prediction Algorithms for User Actions,” Proceedings of Lernen Wissen Adaption, ABIS, 2007, pp. 349-354.
[15] B. D. Davison und H. Hirsh, “Predicting Sequences of User Actions,” Notes of the AAAI/ICML 1998 Workshop on Predicting the Future: AI Approaches to Time-Series Analysis, 1998.
[16] N. Jacobs und H. Blockeel, “Sequence Prediction with Mixed Order Markov Chains,” Proceedings of the Belgian/ Dutch Conference on Artificial Intelligence, 2002.
[17] M. Deynet, “User-Centric Process Descriptions,” Proceedings of the 3rd International Conference on Software Technology and Engineering, Kuala Lumpur, Malaysia, 2011, pp. 209-214.
[18] M. Deynet, “Kontextsensitiv Lernende Sequenzvorhersage zur Erfahrungsbasierten Unterstützung bei der Softwareprozessausführung,” Dr. Hut, 2013.
[19] M. Deynet, “Predicting User Actions in Software Processes,” 4th Workshop on Intelligent Techniques in Software Engineering at the European Conference on Machine Learning and Principles and Practices of Knowledge Discovery in Databases (ECML-PKDD), Athen, Agypten, 2011.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.