ABSTRACT
The evolution of software projects is driven by developers who are in control of the developed artifacts and the quality of software projects depends on the work of participating developers. Thus, a simulation tool requires a suitable model of the commit behavior of different developer types. In this paper, we present an agent-based model for software processes containing the commit behavior for different developer types. The description of these types results from mining software repositories. Since relationships between software entities, e.g., files, classes, modules, axe represented as dependency graphs, simulation results can be assessed automatically by Conditional Random Fields (CRFs). By adjusting simulation parameters for one project we are able to give a quality trend of other projects similar in size and duration only by changing the effort and the size of other projects to simulate.
- N. Nagappan, B. Murphy, and V. Basili, "The influence of organizational structure on software quality: An empirical case study," in Proceedings of the 30th International Conference on Software Engineering (ICSE). ACM, 2008. Google ScholarDigital Library
- F. Rahman and P. Devanbu, "Ownership, experience and defects: A fine-grained study of authorship," in Proc. of the 33rd Intern. Conf. on Softw. Eng. (ICSE), 2011. Google ScholarDigital Library
- M. Ali and M. O. Elish, "A comparative literature survey of design patterns impact on software quality," in 2013 International Conference on Information Science and Applications (ICISA), June 2013, pp. 1--7.Google Scholar
- N. Smith and J. F. Ramil, "Agent-based simulation of open source evolution," in Software Process Improvement and Practice, 2006.Google Scholar
- C. Catal, "Software fault prediction: A literature review and current trends," Expert Systems with Applications, 2011. Google ScholarDigital Library
- P. Bhattacharya, M. Iliofotou, I. Neamtiu, and M. Faloutsos, "Graph-based analysis and prediction for software evolution," in Proceedings of the 34th Intem.Conf. on Softw. Eng. (ICSE). IEEE, 2012. Google ScholarDigital Library
- Y. Wang, Prediction of Success in Open Source Software Development. University of California, Davis, 2007.Google Scholar
- V. Honsel, D. Honsel, and J. Grabowski, "Software process simulation based on mining software repositories," in ICDM Workshop, 2014.Google Scholar
- V. Honsel, D. Honsel, S. Herbold, J. Grabowski, and S. Waack, "Mining software dependency networks for agent-based simulation of software evolution," in ASE Workshop, 2015. Google ScholarDigital Library
- L. Yu and S. Ramaswamy, "Mining cvs repositories to understand open-source project developer roles," in Proceedings of the Fourth International Workshop on Mining Software Repositories, 2007. Google ScholarDigital Library
- G. Gousios, E. Kalliamvakou, and D. Spinellis, "Measuring developer contribution from software repository data," in Proceedings of the 2008 International Working Conference on Mining Software Repositories, 2008. Google ScholarDigital Library
- S. Kim, E. J. Whitehead, and Y. Zhang, "Classifying Software Changes: Clean or Buggy?" Software Engineering, IEEE Transactions on, 2008. Google ScholarDigital Library
- S. Fortunato, "Community detection in graphs," Physics Reports, vol. 486, no. 3-5, pp. 75--174, 2010.Google ScholarCross Ref
- S. Trueg, "K3b -- The CD/DVD Kreator for Linux," http://www.k3b.org/, 2011.Google Scholar
- M. J. North, N. T. Collier, J. Ozik, E. R. Tatara, C. M. Macal, M. Bragen, and P. Sydelko, "Complex adaptive systems modeling with repast simphony," Complex Adaptive Systems Modeling, 2013.Google Scholar
- L. Hattori and M. Lanza, "On the nature of commits." in ASE Workshops. IEEE, 2008, pp. 63--71.Google Scholar
- E. Ising, "Beitrag zur Theorie des Ferromagnetismus," Zeitschrift für Physik A Hadrons and Nuclei, 1925.Google Scholar
- Apache.org, "Log4j," http://logging.apache.org/log4j, 2015.Google Scholar
- kde.org, "Kate," https://www.kde.org/applications/utilities/kate/, 2016.Google Scholar
- M. Foucault, M. Palyart, X. Blanc, G. C. Murphy, and J.-R. Falleri, "Impact of developer turnover on quality in open-source software," in Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, 2015. Google ScholarDigital Library
- A. Bachmann, C. Bird, F. Rahman, P. T. Devanbu, and A. Bernstein, "The missing links: bugs and bug-fix commits." in SIGSOFT FSE, G.-C. Roman and K. J. Sullivan, Eds. ACM, 2010, pp. 97--106. Google ScholarDigital Library
- G. Weiss, Multiagent Systems. MIT Press, 2013. Google ScholarDigital Library
Recommendations
Agent-directed simulation systems engineering
SCSC '07: Proceedings of the 2007 Summer Computer Simulation ConferenceThis article emphasizes the application of system engineering principles to the development of Modeling and Simulation (M&S) applications. Clear distinction between M&S for system engineering and system engineering (SE) for M&S is presented to clarify ...
Enabling Reuse-Based Software Development of Large-Scale Systems
Software reuse enables developers to leverage past accomplishments and facilitates significant improvements in software productivity and quality. Software reuse catalyzes improvements in productivity by avoiding redevelopment and improvements in quality ...
Software Analytics in Practice
With software analytics, software practitioners explore and analyze data to obtain insightful, actionable information for tasks regarding software development, systems, and users. The StackMine project produced a software analytics system for Microsoft ...
Comments