Q&A Session with Recent Software Engineering PhD Graduate, Dr. Laura Moreno
This past month, Dr. Laura Moreno, a Software Engineering PhD student, successfully completed her PhD under the faculty supervision of Dr. Andrian Marcus. Dr. Moreno interviewed with twelve universities in the US, Canada, and Europe, all of them well-recognized and strong institutions offering doctoral studies in Computer Science. In the end, she chose the Computer Science Department at Colorado State University where she will be starting as an Assistant Professor this fall. We spoke to her about her research, her reasons for pursuing the PhD degree, her future aspirations in academia, as well as some general tips for others contemplating a similar path forward.
Q: What was your primary area of research?
My research is in software engineering, specifically on software maintenance and evolution. Basically, all my research work is oriented to help software developers build and maintain software systems easier, faster and better.
Q: What led to pursue a PhD?
I get bored quite easily. I worked as a software developer for a while, but I never felt it was the right job for me. I do love developing, but I needed something else, something that kept me motivated and represented a continuous, long-term challenge.
This is a good description of a PhD: a continuous challenge. It challenges your knowledge, your skills, your limits, and your curiosity. This is why when the opportunity came, the PhD was a no-brainer decision for me.
Q: What made you choose to pursue your PhD at UT Dallas?
I started my doctoral studies in another university, under the guidance of Dr. Marcus. He moved to a position at UT Dallas while I was in the middle of my program, so I had to decide whether to transfer along with him. The decision was not difficult, as I wanted to continue my Ph.D. with Dr. Marcus. Moreover, the Department of Computer Science at UT Dallas is well recognized in the United States and in addition, UT Dallas is one of the few Universities offering a PhD program in Software Engineering, which is my main area of research. I could not miss such an opportunity.
Q: I understand you obtained your PhD under the supervision of Dr. Andrian Marcus, how was that? I know you recently helped organize the first ever TEASER Doctoral Symposium, what are some other things you did with Dr. Marcus?
It was fantastic! I remember thinking after a few days of starting my PhD that I could not have found a better advisor for pursuing my doctoral studies. I stand by that thought today. Dr. Marcus has a very unique way of mentoring and advising. He strives to develop not only researchers but also professionals with different skills. Thanks to him, I have been involved in different academic activities including research projects, conferences, workshops, grant writing, as well as some committees.
As you mentioned, one of those activities was the organization of the 1st TEASER Doctoral Symposium, an event that gathered more than 30 software engineering professors and graduate students from the US and Europe. I also have been part of program and organization committees for several conferences, and together with Dr. Marcus, we organized a show room for one of the classes for which I was teaching assistant.
Q: During your time studying at UT Dallas, in what other projects did you partake?
Unfortunately, my time at UTD has been short and I have been mostly focused on my research. I would have liked to have gotten involved in the summer schools for high-school students and with the ACM-W (Association for Computing Machinery Women in Computing) organization, but my schedule seldom allowed me to do it.
Q: Do you have any advice to future students who wish to obtain a PhD at the UT Dallas Computer Science Department?
Get involved! There are so many events and activities going on in the Department. Not a week passes without a guest speaker, workshop, or meeting. Each one is an opportunity to grow as a researcher and a professional. I would also advise future students to take advantage of the full spectrum of software engineering classes offered in the Department. Having those courses in your back pocket will be an asset in your future careers.
Q: I understand at the TEASER Symposium you spoke to students attending the symposium with your talk titled, “Getting a Job in Academia,” where you gave some insight about your experiences while interviewing for tenure-track positions in academia. What tips did you give to these students?
That talk was very personal, actually. I was just in the academic job market this last year, so most of the tips I gave were lessons learned from my own experience. One of the most important tips in the talk was “master your time.” You would think that after 4+ years of graduate studies you should be great at managing your time, but the job search process is non-trivial and something that you learn by doing. As part of the process you will need to learn the market, prepare your application package, and prepare your interview talk, all of which will take some time. It is fundamental to plan for each step of the process, since in parallel you will have to continue with your normal activities (i.e., dissertation, research, reviewing, sometimes teaching, etc.). At some point, it could become overwhelming, but at the end, the most important tip I could give is to “enjoy the show.” When you go to interviews you are the center of attention and you get to know so many people and places. It is quite an experience, and all the effort will be rewarded when you start getting offers.
Q: I gather that you are pursuing a career in academia. What are your plans for the future? Where have you interviewed and where will you be employed?
My plans were from the beginning to continue in academia. I interviewed at twelve universities in the US, Canada, and Europe, all of them well-recognized and strong institutions offering doctoral studies in Computer Science. I am proud to say I will start this fall as an Assistant Professor in the Computer Science Department at Colorado State University.
Q: What made you want to pursue a job in academia?
Academia provides me with the opportunity to do what I like: research and teaching. More than that, in academic research I can develop my own ideas, address the problems I am interested in, work together with students and industry, and follow the methodologies of my choosing. This kind of flexibility is one thing you can find only in Academia.
Q: I have seen on your UT Dallas website that you have had papers published in numerous publications. Of which published papers are you most proud and why?
I could say I am proud of all them (which is true), but I do have my list of favorites. In no specific order, my ICPC’13, FSE’14, and ICSE’15 papers are my top-3. The ICPC’13 paper was one of the first projects I worked on and its publication was challenging. The paper is about summarization of source code, which was sort of a new topic at that time. The FSE’14 paper is about automatic generation of release notes and the ICSE’15 paper is about generation of method usage examples. Both papers address relevant and difficult problems and present approaches that beautifully orchestrate techniques from different fields to achieve extraordinary results. These were amazing research projects that allow me to meet and collaborate with software engineering researchers from all around the world.
Q: Your website also shows an impressive list of awards you have received for you research. Congratulations! What are the top 3 that have made you the most proud?
Most of the awards I have received are travel awards to attend different software engineering venues, either to present my work or just to participate in them. Each one of them was valuable in one way or another. I am very grateful for all of them.
Q: As a woman in the field of technology, What advice/words of wisdom would you give women of today either wanting to pursue a PhD or women thinking of pursuing a degree in computer science (k-12 or above)?
Go for it! The STEM fields are full of opportunities for women and the market is eager for female computer scientists and engineers. I am pretty sure you will find a subfield in computer science that will motivate you and inspire you to go on. It will be totally rewarding!
Q: Would you mind explaining your dissertation in laymans terms – “Software Documentation Through Automatic Summarization Of Source Code Artifacts?”
Of course.
When software developers are performing their daily activities, let’s say adding a new feature or fixing a bug in a software system, they need to understand the system they are working on before making any change. Both internal and external documentation help during this process, since it can summarize valuable information about the software system, including its purpose, programmers’ assumptions and intentions, and design decisions. However, software documentation is often missing or outdated. This happens because creating and updating documentation by hand is demanding. So my end research goal is to support developers during software (re)documentation. Specifically, the central thesis of my dissertation is that we can use automatic approaches to extract, summarize and process relevant information from existing software artifacts to generate different types of software documentation, useful in software evolution and maintenance.
We investigate automated software (re)documentation via the generation of summaries of complex source code artifacts. Specifically, we propose leveraging different techniques and sources of information to generate summaries of different code artifacts, considering the challenges that each one represents. Our focus is on the generation of documentation of methods, classes, and code changes. In particular, my dissertation presents approaches for (i) automatically generating text-based summaries of classes based on code analysis and natural language processing techniques; (ii) automatically generating release notes by combining code summarization techniques, software repository mining and code analysis; and (iii) automatically generating code usage examples of methods by combining software repository mining and code analysis.
ABOUT THE UT DALLAS COMPUTER SCIENCE DEPARTMENT
The UT Dallas Computer Science program is one of the largest Computer Science departments in the United States with over 1,600 bachelor’s-degree students, more than 1,100 master’s students, 160 PhD students, and 80 faculty members, as of Fall 2015. With The University of Texas at Dallas’ unique history of starting as a graduate institution first, the CS Department is built on a legacy of valuing innovative research and providing advanced training for software engineers and computer scientists.