Re: Intuitiveness of programming languages/paradigms
Raoul, I'm sure Lindsay could design a language, but it might only be an imagined intuitive-to-him language. apologies if i misunderstand, but if you are saying that the devil is in the details, i fully agree, and that is what i mean by logic being non-intuitive, and similarly programming. in other words, having a DWIMNWIS language is not easy. What I am trying to say is that Lindsay might only design a language that is intuitive to his declarative memory. When he gets to use it in practice he might not find it intuitive at all (ie, his procedural memory might not get on with it at all). -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk
Re: validation of complexity metrics as measure for ease of comprehension?
James, metric is useful to predict bugs, but I often hear the further interpretation that complexity actually causes more bugs (or inhibits their fixes) because the code is harder to understand. That interpretation seems to need stronger validation than the correlational studies. The problem with many of these correlational studies is that many of the metrics correlate to lines of code. I thought this forum might know of some studies that approach this. For example has anyone tried to measure the impact of (e.g.) higher cyclometric complexity on the speed of fixing a bug in code? No studies that I know of and of course it would depend on the kind of bug. I wonder how cyclomatic complexity effects the time for a genetic algorithm to fix faults: shape-of-code.coding-guidelines.com/2009/11/software-maintenance-via-genetic-programming/ An alternative explanation of the correlation might be that complexity metrics measure the difficulty of work (ie difficulty of the work is driving both the complexity and the bugs, at the same time). There has been some interesting work done by John Sweller on what he calls cognitive load: en.wikipedia.org/wiki/Cognitive_load -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk
Re: validation of complexity metrics as measure for ease of comprehension?
Alan, The cost, to the reader, of obtaining the information is also an important issue. That paper might be a good starting point for a discussion of what would be a meaningful information content measure in comparing software source code. If the software was written by French speakers the identifier names and comments would probably have very low information content for me. An experiment I ran at the 2007 ACCU conference found that developers used variable name information to make precedence decisions. www.knosof.co.uk/cbook/accu07.html What is the information content of: x + y z compared to say: num_foo + num_bar bit_seq which presumably contains less information than: number_of_foo + number_of_bar bit_sequence for somebody who does not know what num_foo is likely to be an abbreviation (because they may not speak English or be familiar with common developer usage). Does: x + y z have the same information content as: x + y + z? If the software was an application dealing with sewage management (and lots of other domains) any application related information contained in the source would be mostly invisible to me. Why am I reading the source, what information am I trying to obtain? Is the wood hidden by the trees (this is really a cost of extraction issue)? -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk
Re: models of creativity in programming
Lindsay, I think that the role of creativity in programming is vastly overestimated. I have to disagree, I think it is vastly underestimated. This is only because you live in a world (ie, academia) here the aim is to be creative. Most algorithms are very simple and frequently used. In fact developers seem to have a small repertoire of techniques they use most of the time. Which is also what composers do (since that has been used already, but also painters - a better analogy in IMHO). It's what makes your style. My contribution to the numbers program is 1,000 lines of dull code. I say no point spending time to make it interesting to read. The only code that readers might find interesting was not written by me. I needed a hash table library and so found the source of one via the web, plus a hash function written by somebody else. I have found various other source libraries that might be of use to me and I plan to continue to write dull code. For instance, 'numbers' is a project I am currently working on The creative part of this project is figuring out what constitutes an interesting number and how it might best be matched against. The code is trivial, as it is in most commercial projects. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Overviews of the psychology of programming?
Martin, Does anyone have a good suggestion for an overview of the psychology of programming? I would suggest reading a book on cognitive psychology if you are interested in mental events happening in less than a 100 second time frame and a social sciences book for longer time frames. Cognitive Psychology by Eysenck Keane is a good read. I attempted to provide an overview of cognitive issues applicable to programming in: www.knosof.co.uk/cbook/sent1.pdf I have done little reading on the social sciences side and cannot suggest any introductory books. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Fwd: Introducing Red-R: visual programming for R
All, I think readers of this list will be interested in the following visual programming interface to R. Original Message Subject: Introducing Red-R: visual programming for R Date: Sat, 30 Oct 2010 16:07:05 -0700 From: Anup Parikh anup.parikh-re5jqeeqqe8avxtiumw...@public.gmane.org To: r-packages-0bnbq1pawb4bxfe83j6...@public.gmane.org Newsgroups: gmane.comp.lang.r.packages Dear R-Packages Mailing List, The Red-R development team would like to introduce Red-R: a user friendly visual programming and data analysis framework for R. Red-R makes the advanced functionality of R available to the non-computational users by hiding the computational complexity behind a visual programming interface. In addition, Red-R improves analysis readability and data sharing to facilitates better communication in inter-disciplinary teams. Analyses are performed by visually linking a series of widgets together that read, manipulate, and interactively display data. These pipelines, representing both the data and analysis, can be easily shared with others. Red-R can also generate reports in odt, html and latex to help better document and share results. Red-R is an extension of Orange (http://www.ailab.si/orange), a data mining framework written in Python and Qt. Red-R accesses all the functionality and data in R, using the Python interface for R provided by RPy2 (http://rpy.sourceforge.net). This framework is highly flexible and can be extended to include virtually all the functionally R packages currently offer. If you maintain an R package and are interested in created a GUI interface please don't hesitate to contact us. We would be happy to provide any help in creating the Red-R packages. We would like to thank all those that helped test the software over the last year and a half and welcome any feedback/suggestions from the R community. Please visit the Red-R webpage (www.red-r.org) for more information. Thank you, Red-R Development Team Anup Parikh (anup-d3nvubt86z3ytjvyw6y...@public.gmane.org) Kyle R. Covington (kyle-d3nvubt86z3ytjvyw6y...@public.gmane.org) -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Mozilla data visualization competition
All, This data visualization competition does not seem to be getting much publicity: http://design-challenge.mozillalabs.com/open-data/OpenDataCompetition.php -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Aggregator for ppig people blogs
All, Various people working in the psychology of programming have blogs. It would be useful if there was an aggregator that made them all available in the same place. There is one for R: www.r-bloggers.com/ and the ACCU have one: www.artificialworlds.net/planetcode/ Perhaps a psychology of programming blog aggregator page could be added to the ppig site? -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Aggregator for ppig people blogs
Roman, some initial list is here: http://ppig.org/newsletters/2008-10.html#bloggers Apart from yours the links either don't work or have no recent entries. The next issue of the ppig newsletter should include an updated list. Here is mine: http://shape-of-code.coding-guidelines.com Anybody else? --Roman On 07/01/2011 04:26, Derek M Jones wrote: All, Various people working in the psychology of programming have blogs. It would be useful if there was an aggregator that made them all available in the same place. There is one for R: www.r-bloggers.com/ and the ACCU have one: www.artificialworlds.net/planetcode/ Perhaps a psychology of programming blog aggregator page could be added to the ppig site? -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Redefining the word language
Kari, By that criterion, printf is definitely part of the C language. printf is not part of the C syntax or semantics, it is a function defined in a library. Fortran and Pascal are examples of languages where the I/O is defined to be part of the syntax/semantics of the languages and not as functions defined in a library (although are likely to get mapped to calls to some sequence of internal library calls). The language/library distinction is important for the compiler, which in one case has to recognise certain character sequences and perform special processing of them and in the other just handles a construct the same as any other function call. As a compiler writer I don't regard printf as being part of the language but as part of the library. The average user is unlikely to make this distinction and view the language as being whatever they can be guaranteed to get out of the box when they obtain a conforming implementation. The definition of 'language' depends on who you are talking to. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Visual and text languages
All, There is a lot of scattered research on visual languages... some more The best book I know of on visual language is: Understanding Comics: The Invisible Art by Scott Mccloud -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Experiment idea?
Steve, I'm looking for an idea for an experiment to run. I'll be at the Software Craftsmanship event at Bletchley Park next week (http://www.codemanship.co.uk/softwarecraftsmanship/) with a crowd of experienced programmers with time on their hands. I have rune experiments with similar types of people in similar environments. You have to keep it simple and paper and pencil type experiments seem to work. Some ideas and scripts to generate subject question sheet here: www.knosof.co.uk/dev-experiment.html I have an unfounded hypothesis that there's something cognitively different about Test-Driven Development, compared to regular development, but I don't know how to test that. Can anyone suggest an experiment I could run with a couple of groups that help to shed light on the subject? Sounds too complicated to run in this environment. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Experiment idea?
Alan, I have rune experiments No doubt relevant to the developers of Gnome :-) One year of the ACCU conference I did stay in a hotel that was opposite the cemetery containing Tolken's grave. Talking of user interfaces, developers often have smart phones and given the some software the experiments could be run on these. The screen size would limit things a bit. An interesting project for somebody this summer :-) -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:de...@knosof.co.uk Source code analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: studies of source code line purposes?
Raoul, along the lines of a thought i've had of late why is there so much *code*!?, i wonder if anybody has tired to study programs and categorize the source code into purposes, so we could get a feel for This is a very fundamental question. Jorma Sajaniemi came up with one of the few ideas addressing this issue, roles of variables: http://www.cs.joensuu.fi/~saja/var_roles/ -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Making empirical data+code available
All, Continuing on the theme of empirical research. There is a growing trend for researchers to make their experimental data available. Promise is probably one of the more well known sites: http://promisedata.org/ What is also needed is the code used to analyze it. I have been having a hard time trying to get the numbers reported in some papers from the data that has been made available. You can find mine here (only the 2011 experiment has all the code needed to perform the analysis; I'm working on fixing that): http://www.knosof.co.uk/dev-experiment.html I hope list members will reply with where their own data can be downloaded. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Making empirical data code available
Lindsay, A couple of researchers I have contacted to obtain data told me that they have either lost it or did not make an effort to keep it. Having someplace that people could automatically upload their data to might help preserve more of it, as well as making life easier for other by cutting down on search time. A while back I was asked to prepare an area on the PPIG website where people could upload data for public consumption (surrounded by appropriate caveats of course). The data I was preparing for didn't ever turn up so the area remains hidden, but I can certainly expose this in some way if people wish to use it. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Making empirical data+code available
Richard, There's the corresp() function in library(MASS) and Fionn Murtagh's code to go with his correspondence analysis book is available over the web. This is very common practice with R books. While playing with the data, I was struck by two prominent lines I kept seeing: table(loc_written) 0 1 2 3 4 5 6 7 2 3 3 8 1 7 3 3 ^ ^ I don't suppose it has any significance at all for your results, but I wonder why the loc_written data were so clumpy. That 8 caught my eye, it should be 7 (a typo). I checked the other numbers and they are correct. What this is saying is that developers don't have a clue how many lines of code they have read/written (see extract of question below). In places they are not even consistent and there is a poor correlation with experience (0s indicate no answer given, which should really be NA). --- How many lines of code would you estimate you have \fBwritten\fR in different languages over your career: .RS .IP i) 50,000 .IP ii) 75,000 .IP iii) 100,000 .IP iv) 150,000 .IP v) 200,000 .IP vi) 275,000 .IP vii) 350,000+ .RE .IP b) How many lines of code would you estimate you have \fBread\fR in different languages over your career: .RS .IP i) 75,000 .IP ii) 100,000 .IP iii) 150,000 .IP iv) 200,000 .IP v) 300,000 .IP vi) 500,000 .IP vii) 800,000+ -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Making empirical data code available
All, I prefer to think that somebody who knows more about statistics than me will find something significant that I missed: Willingness to Share Research Data Is Related to the Strength of the Evidence and the Quality of Reporting of Statistical Results http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0026828 -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: studies of naming?
Raoul, Wondering if anybody knows of research that tries to get the word out that naming is important. Or proves that naming isn't important! Maybe There is of course: www.knosof.co.uk/cbook/sent792.pdf Operand names influence operator precedence decisions http://www.knosof.co.uk/dev-experiment/accu07.html There was some naming issues involved in: Classification and grouping into aggregate types http://www.knosof.co.uk/dev-experiment/accu08.html nobody makes still little mistakes the way I do. Anyway, there are things in the programming language world that make me cringe. They look to me like highway train wrecks, if you'll pardon the metaphor, sneaking around looking for a place to happen. Picking two off the top of my head: Scala: val vs. var. One letter difference?! At the difference was at the end that has less attention paid to it. The second part of: http://www.knosof.co.uk/dev-experiment/accu11.html has some experimental evidence that differences at the start of an identifier improve recall performance. Paper and data should be up at the end of the week. Knockout JS: viewmodel instead of, gosh, say, just model?! -Mr. Tempest in a Teapot. and now you get get a phonetic transcription of that: http://shape-of-code.coding-guidelines.com/2012/03/16/generating-sounds-like-and-accented-words/ -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: studies of naming?
John, Given that many programmers have been trained to believe that opportunism is bad, it is also likely that observation of programming evokes Are many programmers taught anything and if they are does it go in one ear and out the other? I think most developers pick up a rag bag of habits that work. Also one thing about analyzing code is that you quickly learn that what developers say they do and what they actually do often have little in common. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Corpus of Java source code with JUnit
Sebastian, I'm looking for a corpus/collection of Java source code. The corpus This is one of the better ones: http://qualitascorpus.com/ should comprise multiple projects that come with JUnit test cases that pass and have good test coverage. This is the flying pig part of your request. I want to test a new programming construct that is supposed to shorten programs without making them harder to understand. In the first instance How do you plan to measure understanding? -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Corpus of Java source code with JUnit
Sebastian, should comprise multiple projects that come with JUnit test cases that pass and have good test coverage. This is the flying pig part of your request. Wouldn't it be possible in theory? I'm sure you can find plenty of Java software that comes with some kind of test suite. Unit test level and/or good coverage, possible in theory. As for flying pigs, I'm sure they could be genetically engineered to grow wings. Power to weight ratio is the big problem. Perhaps they could be taught to climb trees and throw themselves off like flying foxes. That requires some info on the programming construct: I'm adding indirect anaphora to an extension of Java. Anaphora is a backward relation to a referent previously mentioned in the text, e.g. He in James Gosling invented Java. He does not work for Sun anymore. Indirect anaphora is a backward relation to a referent that has not yet been mentioned in the text but is related to a previously mentioned referent. The relation can be a semantic or a conceptual one. In An Sounds a bit like name binding in lambda calculus. I used an account of indirect anaphora resolution from cognitive linguistics as kind of a blue print for implementing indirect anaphora in an extension of Java. The underlying assumption is that the so-called There is also a big underlying assumption that there is enough locality of reference to make a new construct supporting anaphora worthwhile. This might apply in some domains, scientific computing springs to mind. Too much use of anaphora will create lots of ambiguity. Jim killed the man with the telescope (who was the telescope the murder weapon?) To figure out whether the implementation of the compiler matches the theory as well as how humans understand text/source code, a controlled experiment could be used. IDEs provide functions like go to declaration to allow a programmer to get more info on a program element. One could count how often a programmer uses such functions for indirect anaphors, i.e. how often a programmer asks the IDE to present the referent of an indirect anaphor because he is not able to resolve it himself. The more often a programmer asks for the resolution of a referent, the lower his understanding of indirect anaphors in source code. or the more ambiguous the anaphora were, or because other information was required, or that option was easier to use, or the programmer did not understand the language construct, ... -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Electronic copies of spreadsheets already seeded with errors
Bennett, I am looking for electronic copies of spreadsheets that have already been seeded with errors. If anyone has copies of spreadsheets that You might try the European Spreadsheet Risks Interest Group http://www.eusprig.org/ have already been seeded with errors or has a link to a corpus that has such kind of spreadsheets, I would greatly appreciate if they can assist me on the same. Thanks in advance, Bennett -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: longitudinal studies of the development of programming expertise
Fabian, Another limitation we have is that our data is not longitudinal across individual students' studies but rather longitudinal across the development projects and the development of the factory itself. Our project cycles are approximately seven weeks long and students come and go over those seven weeks. If you have timing at fine granularity you might like to compare activity duration with the pattern seem in this commercial data set: http://shape-of-code.coding-guidelines.com/2012/09/03/descriptive-statistics-of-some-agile-feature-characteristics/ Is your data made available for download? -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Software analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: emotions and programming
Chris, I was wondering is anyone has come across work looking at the emotional response people have to programming? What emotions are you interested in? This study looked at risk attitude of professional developers as an explanation for coding decisions: http://www.knosof.co.uk/dev-experiment/accu11.html I have been running some studies with undergrads and looking at the emotion they report they experience and why. I'm hoping to locate this the literature an it is proving quite tricky to search for in digital libraries! Enjoyment is a much underrated emotion in all work activities (at least for the people who are good at it). -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Software analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Empirical data wanted
All, I'm working on another book: http://shape-of-code.coding-guidelines.com/2012/06/22/background-to-my-book-project-empirical-software-engineering-with-r/ and am after empirical data. If anybody can point me at publicly available data or is willing to send me data that I can make public it would be much appreciated. For those of you who missed the discussion last time around my previous book attempted to use results from cognitive psychology to understand developer characteristics: www.knosof.co.uk/cbook and also had a strong empirical flavor. You can read about my own experimental work + and data here: www.knosof.co.uk/dev-experiment.html -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Software analysis http://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England Wales and a charity registered in Scotland (SC 038302).
Re: Forty Years of Research on Personality in Software Engineering: A Mapping Study
Zéphyrin, Are there some references that link personality to external/observable behaviour of software engineers? The following experiment tried and failed to obtain a particular kind of link: http://www.knosof.co.uk/dev-experiment/accu11.html Or simply work on external/observable behaviour of software engineers? By external/observable behaviour, I meant when observing someone working, can we know her personality? Kind regards, Zéphyrin Le 2015-02-07 16:07, Luiz Fernando Capretz a écrit : Dear Huw, Thank you for your relevant question; I don't see it as criticism at all. There should be no dogmas in science. Your statement is right, NT types are abundant among software developers. But ST types are even more prevalent. Given that there are more ST than NT types among the general population, the percentage of NT software engineers stands out. Nevertheless, there are significant discrepancies in the distributions and percentages of software engineers across the 16 MBTI types. Moreover, the software engineering profession has diversified enormously in the last 20 years, compared to mainly computational programming of 30-40 years ago, thus attracting myriad types of people performing specialized jobs. Those discrepancies tend to be exacerbated. Now, trying to answer your question I am an advocate for cross-disciplinary research and borrowing perspectives from other areas, which give us the potential to address important issues in software engineering, thus should be encouraged. Please take a look at: http://www.eng.uwo.ca/people/lcapretz/Capretz-HF-IEEE-v2.pdf However, when it comes to human beings, things get really complicated. Psychology is there to help us. Regards, Luiz Fernando Capretz http://www.eng.uwo.ca/people/lcapretz/ On 06/02/2015 5:30 PM, Huw Lloyd wrote: Thank you for sharing your work, Luiz. It's interesting that MBTI remains a strong typological schema. If I recall my MBTI distributions correctly, the high percentages of NT personalities represents an impressive concentration. Perhaps for the sake of this quiet list-serve, are you able to elaborate on a question I was considering whilst skimming your paper, please. In your final considerations, you (collectively) write: the amount of research on the effects and influences of personality in the field is relatively small. The evidence is weak and in many cases inconclusive. More research is required if we want results that can influence the practice of software development. My question is, what influence does personality research in the contexts of various practices have, i.e. are there examples of transformative contributions? I have witnessed personality-based knowledge being usefully applied at an interpersonal (consulting) level, but the impression I have is that perhaps you have something broader in mind (such as interviewing for personality types etc)? I intend no criticism in the question, I'm merely curious. Best, Huw On 6 February 2015 at 20:03, Luiz Fernando Capretz lcapr...@uwo.ca mailto:lcapr...@uwo.ca wrote: Dear Colleagues, I thought you’d be interested in a systematic literature review on human factors and personalities in software engineering along the past 40 years. I am providing you with the following article link, which allows free access to the article: http://authors.elsevier.com/a/1QQJw2f~UVqMl5 http://authors.elsevier.com/a/1QQJw2f%7EUVqMl5 Please use this link to download a personal copy of your article if you are interested in that topic; you are also welcome to email the link to other colleagues. Anyone who clicks on the link until 14^th /March/2015 - no sign up or registration is needed - just click and read! Luiz Fernando Capretz, Ph.D., P.Eng. Professor of Software Engineering Assistant Dean (IT e-Learning) Western University Department of Electrical Computer Engineering Thompson Engineering Building (TEB 345) London, Ontario, Canada - N6A5B9 http://www.eng.uwo.ca/people/lcapretz/ Tel. 1 519 6612111 x85482 tel:1%20519%206612111%20x85482, Fax 1 519 8502436 tel:1%20519%208502436 -- Derek M. Jones Software analysis tel: +44 (0)1252 520667 blog:shape-of-code.coding-guidelines.com
Re: What human factors influence programming errors?
Huw, Dear Huang, This quote suggests that you are considering personality as orthogonal to cognition. Is this so, and, if so, what is to be gained by doing so, please? The general view is that cognition is the set of engines that get driven by higher level functions, such as personality. This simplistic model is complicated by the interactions and mutual feedback between components. I will leave it to others to stick their neck's out and put numbers to the level of interaction. Best, Huw On 9 February 2015 at 14:40, Huang Fuqun 黄抚群 huangfu...@gmail.com wrote: Dear Colleagues, I thought you would be interested in *what types of human factors influence programming errors*. We recently did a systematic review and conducted a controlled experiment to examine this problem. Some interesting findings were obtained. The paper is published on *Science of Computer Programming*. You may access it through the following link: doi:10.1016/j.scico.2014.03.004 http://dx.doi.org/10.1016/j.scico.2014.03.004 I'm allowed to share the acceptance version with friends and colleagues, please see the attached file. We are now conducting extending research on this topic. Your comments and advice are welcomed. Best regards, Fuqun Huang, Ph.D. The Ohio State University Department of Mechanical and Aerospace Engineering Scott Laboratory W 382 Columbus, Ohio, USA -- Derek M. Jones Software analysis tel: +44 (0)1252 520667 blog:shape-of-code.coding-guidelines.com
Re: What human factors influence programming errors?
Huw, If you're interested in 'higher level functions', I can commend vol. 4 of the collected works of L.S. Vygotsky (The History of the Development of Higher Level Functions). You will not find all the answers here, but you will find a promising way of thinking about the problems and how to study them. I'm not sure if there is a strong connection between the collected works of somebody who died in 1934 and the current discussion. Books that I found useful include: Cognitive Psychology: A Student's Handbook, by Michael Eysenck and Mark T. Keane and Cognitive Psychology and its Implications by John Anderson Best, Huw On 9 February 2015 at 15:22, Derek M Jones de...@knosof.co.uk wrote: Huw, Dear Huang, This quote suggests that you are considering personality as orthogonal to cognition. Is this so, and, if so, what is to be gained by doing so, please? The general view is that cognition is the set of engines that get driven by higher level functions, such as personality. This simplistic model is complicated by the interactions and mutual feedback between components. I will leave it to others to stick their neck's out and put numbers to the level of interaction. Best, Huw On 9 February 2015 at 14:40, Huang Fuqun 黄抚群 huangfu...@gmail.com wrote: Dear Colleagues, I thought you would be interested in *what types of human factors influence programming errors*. We recently did a systematic review and conducted a controlled experiment to examine this problem. Some interesting findings were obtained. The paper is published on *Science of Computer Programming*. You may access it through the following link: doi:10.1016/j.scico.2014.03.004 http://dx.doi.org/10.1016/j.scico.2014.03.004 I'm allowed to share the acceptance version with friends and colleagues, please see the attached file. We are now conducting extending research on this topic. Your comments and advice are welcomed. Best regards, Fuqun Huang, Ph.D. The Ohio State University Department of Mechanical and Aerospace Engineering Scott Laboratory W 382 Columbus, Ohio, USA -- Derek M. Jones Software analysis tel: +44 (0)1252 520667 blog:shape-of-code.coding-guidelines.com -- Derek M. Jones Software analysis tel: +44 (0)1252 520667 blog:shape-of-code.coding-guidelines.com