6

If a Python library is built can it be turned into a research paper? Will it be accepted?

6
  • Building a Python library from scratch, no matter how difficult is it (if it's too complicated it's not a feature, you should blame the developers!), is not doing research unless you wrote the library by yourself and then you can publish it for example here: joss.theoj.org . Otherwise, merely building a software library is not research... Sep 30 '19 at 16:53
  • Thanks for the link. I felt that it might qualify for it. There's got to be an investigation that led to building it while conducting the investigation. Does that apply to programming languages? They too can't be considered as research? Sep 30 '19 at 19:18
  • There seem to be two possible interpretations of this question: 1) Can you publish a peer-reviewed paper about a Python library? 2) Does this qualify as research? — The answer to Question 1 is a clear yes (I have done so myself and any example suffices for tis). The answer to Question 2 is somewhat opinion-based and philosophical. Probably neither question produces answers that actually help you. Please consider editing your question to address this. (Or ask a new question if the existing answers would be invalidated by this.)
    – Wrzlprmft
    Sep 30 '19 at 20:06
  • @Wrzlprmft Actually (1) is the question asked ,only that this time it will be built by the individual before a peer review that will be published. Do you have any links to published works on libraries. You can add yours if you're okay with it. Sep 30 '19 at 20:12
  • @user12075410: only that this time it will be built by the individual before a peer review that will be published. – I fail to make sense of this. How could the library be written after the publication? Also, peer reviews are usually not published (and even if they are, this does not seem to be what you are asking for). You can find my publications and software on my profile.
    – Wrzlprmft
    Sep 30 '19 at 21:22
11

The point of research is the production of knowledge. If, after you take away all the code you’ve written and the datasets you’ve collected, there’s nothing left, then you’re not doing research, you’re doing development.

So, if you want to do artefact-oriented research like this, the question you have to ask yourself is this: what is the new knowledge you’re producing? Are you testing a new, better algorithm? Are you applying an existing algorithm in a new context and determining if it works there? Are you investigating how a complex system functions, or how it interacts with humans and/or the environment? What is the research question that you’re answering?

If you do determine that you’re doing research rather than development, however, there are a number of artefact-oriented research methodologies, such as the Design Science Research Methodology. You should be able to find more information on it with Google Scholar, if you’re a member of an institution that gives you access to their research journal subscriptions.

1
  • It was the research and publications on ai.google that led me here.Thanks for the answer. Sep 30 '19 at 19:57
4

It can and has been done.

Consider PonyGE2, a Python framework for Grammatical Evolution. It has presented at GECCO '17, a leading conference on genetic and evolutionary computation.

It's not strange that it was accepted; it was devised as a research tool, allowing other researchers to also experiment with GE using a common framework. So while it's perhaps not so much entirely novel research, it's more a "utility publication", similar to a publication describing an interesting dataset or benchmark set.

Note that the Github page tells you how to cite PonyGE2 if you use it in research. A utility publication that accompanies a tool that gains wide adoption can actually result in a lot of citations.

3

There might be research that leads you to build such a library, but coding itself, isn't research. But compilers, for example, were built on a ton of research prior to any coding beyond the experimental.

One often, in CS, does some research first and then builds something to validate the conclusions of the research. But the paper produced is about the research findings, not the code. Code optimizers fall in this category as do many aspects of operating systems.

But note that it starts with the research, not the code.

1
  • 2
    Also vice versa - one might write code to enable research. One might then release that code as a library to help other people's research.
    – Flyto
    Oct 1 '19 at 20:54
2

Have a look at this page:

https://scikit-image.org/

They give a source they would like to be cited when using their modules. I have seen similar things for other libraries (I cannot remember where, unfortunately) not only for Python. So obviously there is a realistic chance to have a paper published if you have a library that is really helpful to many people. It might not be research when being strict, but it does not have to be to be useful. And if your library contains new algorithms or the like, it will also be research.

It is probably best to have a look at the paper cited in the link above to get an impression what is necessary to be published.

2

It really depends on what library you are building. If building your Python library involves innovating in software engineering methodology, generating new insights to how software works, developing and implementing a new algorithm, or tackling a previously difficult task elegantly, then surely it is a valuable research project. Building Tensorflow, for example, is definitely research; building Flask, while also a venerable task, is probably not research.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.