We inherited a legacy application that was developed back in late 90s. The cgi application runs on apache web server, bash script and oracle db. There are gazillions of bash scripts which does all business logic, view (html,css, javascript) all wrapped inside heredoc and database connections.

The problem we have is analyzing all the scripts and how it works is taking too much time. Also in our team we only have one guy who has average linux skills. There are articles such as whitebox and black box software process (article 1, article 2). It seems promising but still even with all these process it will take time to completely analyze the whole application in two months time.

We are looking for suggestions if there are tools or tips that will speed up the process analyzing all these scripts and figure out how it all works. Any suggestions would be great.

closed as too broad by Rui F Ribeiro, Satō Katsura, thrig, Archemar, Jeff Schaller Mar 18 '17 at 14:46

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Try to find the original requirements, if any. There are no shortcuts... Code beautifiers, code analyzers, graphing dependencies. if you do not have the tools, document by hand. Have I told you to document the process yet? Bring the guy that wrote that mess as a consultant. "I need a surgery, should I go to professionals, or should I ask how to do it in a random board?" – Rui F Ribeiro Mar 18 '17 at 10:47
  • @Rui that's the big problem there are no documents at least on the technical stuff such as deployment, configuration, what the script does etc. But there is of course documentation on how to use the application and minor support stuff but its not really helpful. The application just grew over time without anyone trying to document anything... am not sure if its a chinese thing but the previous group who maintained it was based in China. – dimas Mar 18 '17 at 10:52
  • 1
    Hire a consultant that is worth is money, do not take shortcuts. Learn your lessons about using cheap sources of labour – Rui F Ribeiro Mar 18 '17 at 11:01
  • 1
    You problem is not that the code grew over time (trees grow over time, and they are amazing. You show me one thing that did not take time). The problem is that the code is a mess, and your team does not have the skills. Options: abandon it; find another solution; start again; hire consultant(s). – ctrl-alt-delor Mar 18 '17 at 11:53