James D. McCaffrey
James D. McCaffrey is a software researcher and author known for his contributions to the fields of mathematical combinatorics and software test automation. McCaffrey holds a PhD in cognitive psychology and computational statistics from the University of Southern California, and degrees in psychology and applied mathematics from the University of California, Irvine and California State University, Fullerton.
McCaffrey is a research scientist engineer at Microsoft Research where he directs the internal Microsoft AI School, focusing on creating machine learning and artificial intelligence algorithms.
Prior to joining Microsoft, McCaffrey was the Associate Vice President of Research at Volt Information Sciences in Redmond, Washington, supporting the needs of software engineers at Microsoft. He has also worked on Microsoft products such as Azure and Bing and is the Senior Technical Editor for Microsoft Visual Studio Magazine.
Selected bibliography
- McCaffrey, J.D., "Using the Multi-Attribute Global Inference of Quality (MAGIQ) Technique for Software Testing", Proceedings of the 6th International Conference on Information Technology New Generations, April 2009, pp. 738–742.
- McCaffrey, J.D., "An Empirical Study of the Effectiveness of Partial Antirandom Testing", Proceedings of the 18th International Conference on Software Engineering and Data Engineering, June 2009, pp. 260–265.
- McCaffrey, J.D. and Czerwonka, J., "An Empirical Study of the Effectiveness of Pairwise Testing", Proceedings of the 2009 International Conference on Software Engineering Research and Practice, July 2009, pp. 186–191.
- McCaffrey, J.D., "Generation of Pairwise Test Sets using a Genetic Algorithm", Proceedings of the 33rd IEEE International Computer Software and Applications Conference, July 2009, pp. 626–631.
- McCaffrey, J.D., "Generation of Pairwise Test Sets using a Simulated Bee Colony Algorithm", Proceedings of the 2009 IEEE International Conference on Information Reuse and Integration, August 2009, pp. 115–119.
- McCaffrey, J.D. and Dierking, H., "An Empirical Study of Unsupervised Rule Set Extraction of Clustered Categorical Data using a Simulated Bee Colony Algorithm", Proceedings of the 3rd International Symposium on Rule Interchange and Applications, November 2009, pp. 182–192.
- McCaffrey, J.D., "An Empirical Study of Categorical Dataset Visualization using a Simulated Bee Colony Algorithm", Proceedings of the 5th International Symposium on Visual Computing, December 2009, pp. 179–188.
- McCaffrey, J.D., "Keras Succinctly for Syncfusion", An eBook focused on Keras, an open-source, neural-network library written in the Python language., September, 2018.
- McCaffrey, J.D., "Introduction to CNTK Succinctly for Syncfusion", An eBook focused on Microsoft CNTK (Cognitive Toolkit, formerly Computational Network Toolkit), an open source code framework that enables you to create deep learning systems, such as feed-forward neural network time series prediction systems and convolutional neural network image classifiers., April, 2018.
- McCaffrey, J.D., "Bing Maps V8 Succinctly for Syncfusion", The Bing Maps V8 library is a very large collection of JavaScript code that allows web developers to place a map on a webpage, query for data, and manipulate objects on a map, creating a geo-application. August, 2017.
- McCaffrey, J.D., "R Programming Succinctly for Syncfusion,", The R programming language on its own is a powerful tool that can perform thousands of statistical tasks, but by writing programs in R, you gain tremendous power and flexibility to extend its base functionality. June, 2017.
- McCaffrey, J.D., "SciPy Programming Succinctly for Syncfusion," SciPy Programming Succinctly offers readers a quick, thorough grounding in knowledge of the Python open source extension SciPy. September, 2016.
- McCaffrey, J.D., "Machine Learning Using C# Succinctly for Syncfusion," In Machine Learning Using C# Succinctly, you’ll learn several different approaches to applying machine learning to data analysis and prediction problems. October, 2014.
- McCaffrey, J.D., "Neural Networks Using C# Succinctly for Syncfusion," Neural networks are an exciting field of software development used to calculate outputs from input data. While the idea seems simple enough, the implications of such networks are staggering—think optical character recognition, speech recognition, and regression analysis. July, 2014.
References
- Introduced a description and C# language implementation of the factoradic, in fact a type of factorial number system, in "Using Permutations in .NET for Improved Systems Security", McCaffrey, J. D., August 2003, MSDN Library. See http://msdn2.microsoft.com/en-us/library/aa302371.aspx and "String Permutations", MSDN Magazine, June 2006 (Vol. 21, No. 7).
- Laisant, Charles-Ange (1888), "Sur la numération factorielle, application aux permutations", Bulletin de la Société Mathématique de France (in French), 16: 176–183; a previous description of a factorial number system.
- Introduced a description and C# language implementation of the combinadic, in fact a type of combinatorial number system, in "Generating the mth Lexicographical Element of a Mathematical Combination", McCaffrey, J. D., July 2004, MSDN Library. See http://msdn2.microsoft.com/en-us/library/aa289166(VS.71).aspx.
- Applied Combinatorial Mathematics, Ed. E. F. Beckenbach (1964), pp. 27−30; a previous description of a combinatorial representation of integers.
- McCaffrey, James D., ".NET Test Automation Recipes", Apress Publishing, 2006. ISBN 1-59059-663-3.