Master thesis possibly does not work out as expected I'm currently working on my CS masters thesis. The timeline is set up to 5 months with developing the software and writing the thesis itself. My supervisors and me had a nice idea that would (if it were implemented successfully) be a great contribution to a currently running research project of one of the supervisors.

I started out with checking whether the first of the two main problems of the thesis would work at all (I implemented that part of the software, it worked and so we were fine with that). After that, we felt confident to finally and officially register the thesis, so that eventually, with that day, those 5 months of officialy working on it started. 

Today, 2.5 months later, I'm stuck with the second part of the problem. Since starting to work on that two months ago this one great problem was cut down into many smaller ones of which a few are solved, others aren't.

Those few unsolved problems are a major issue now. On the whole, our "great idea" with which we started works under the condition that those few unsolved problems would some day work, but currently I feel


that some of the unsolved problems can't be worked out in the remaining time
few of them I might not be able to solve at all - literature on them is very rare or non existend; I suppose we're the first people to try to accomplish that fuctionality with these tools


In conclusion I currently don't believe that the whole "great idea" we initially had can be put into software within the time horizon of my thesis (or at all). 

The questions now are: 


I think I need 6 weeks (more likely 8 weeks) for writing the text of the thesis, so my time is running and I fear I cannot finally and certainly find out which of the remaining problems can be solved; What to do (and write) in that case in my thesis?
I think my supervisors expected this whole thing to work out, being implement in code. I fear I'll not satisfy that expectation. What to do about them telling me I could have done better, worked more, harder?
First of all, you can relax about the fact that you won't solve everything. In research, it's the default case that you will solve some of the problems, and leave plenty of others as future work. (There's a great inspirational comic about this truth.)


As a criterion for selecting the remaining problems you want to work on, I recommend to select the ones that will help you to a tell good overall story in your thesis. For example, it's better to deliever a program that works in certain cases and under certain assumptions, rather than a program that never works, but could possibly work if certain remaining problems would be solved.
Make sure to have the facts on your side. For example, prepare a table with the specific tasks you solved/tried to solve, the time you spent trying to solve them, and the specific issues that made the tasks hard to solve.