A method for presenting a code notebook that allows a user to enter a code query regarding program source code that is executed in a cloud-computing environment and see query results to the code query, the method comprising: presenting a user interface, UI, of the code notebook on a client computing device, the UI comprising a query window for receiving the code query from the user and a representation of the program source code modified based on the query results; receiving the code query from the user in the query window, the code query comprising a combination of a semantic search for semantically equivalent code elements and a structural query, wherein the semantic search comprises a first code element being a query term and the structural query refers to a structural code element defining a structure of the program source code in which the first code element is to be searched, such as declarations, code operations for loops, if/then statements or operational counts; submitting the code query to one or more servers of the cloud-computing environment for running the code query on the program source code in the cloud-computing environment to generate query results, the query results comprising a second code element determined to be semantically equivalent to the first code element of the code query and found in the structure of the program source code defined by the structural code element, wherein semantical equivalency between code elements is determined based on encoded distances in a learned latent space; receiving the query results generated from the one or more servers querying the program source code; and showing at least one of the query results in the representation of the program source code in the UI of the code notebook on a client computing device. presenting a user interface, UI, of the code notebook on a client computing device, the UI comprising a query window for receiving the code query from the user and a representation of the program source code modified based on the query results; receiving the code query from the user in the query window, the code query comprising a combination of a semantic search for semantically equivalent code elements and a structural query, wherein the semantic search comprises a first code element being a query term and the structural query refers to a structural code element defining a structure of the program source code in which the first code element is to be searched, such as declarations, code operations for loops, if/then statements or operational counts; submitting the code query to one or more servers of the cloud-computing environment for running the code query on the program source code in the cloud-computing environment to generate query results, the query results comprising a second code element determined to be semantically equivalent to the first code element of the code query and found in the structure of the program source code defined by the structural code element, wherein semantical equivalency between code elements is determined based on encoded distances in a learned latent space; receiving the query results generated from the one or more servers querying the program source code; and showing at least one of the query results in the representation of the program source code in the UI of the code notebook on a client computing device.