Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:nlpa [2009/07/02 14:46]
sprenkle
projects:nlpa [2014/02/16 14:53] (current)
mjhoward [Subprojects]
Line 1: Line 1:
 ====== NLPA: Natural Language Program Analysis ====== ====== NLPA: Natural Language Program Analysis ======
  
-//NLPA combines natural language processing techniques with more traditional program analyses (e.g., call graph analysis) to drive software engineering tools.// 
  
 Throughout the life cycle of an application,​ between 60-90% of resources are devoted to modifying the application to Throughout the life cycle of an application,​ between 60-90% of resources are devoted to modifying the application to
Line 7: Line 6:
  
 Our research group has been investigating how to best extract and utilize natural language Our research group has been investigating how to best extract and utilize natural language
-clues from code. We call this kind of analysis, Natural Language Program Analysis (NLPA), since it combines natural language processing techniques with program analysis to extract natural language information from the identifiers,​ literals, and comments of a program. Using NLPA, we have developed techniques and integrated tools that assist in performing software maintenance tasks, including program understanding,​ navigation, debugging, and aspect mining.+clues from code. We call this kind of analysis, Natural Language Program Analysis (NLPA), since it combines natural language processing techniques with traditional ​program analysis to extract natural language information from the identifiers,​ literals, and comments of a program. Using NLPA, we have developed techniques and integrated tools that assist in performing software maintenance tasks, including program understanding,​ navigation, debugging, and aspect mining.
  
 Thus far, we have focused on NLPA tools that identify scattered code segments that are somehow related: whether it be to search through code to understand a particular concern implementation,​ to mine aspects, or to isolate the location of a bug. Our existing NLPA tools combine program structure information such as calling relationships and code clone analysis with the natural language of comments, identifiers,​ and maintenance requests. Although we have only begun to explore the potential of NLPA, our various experimental results motivate further investigation of NLPA for Thus far, we have focused on NLPA tools that identify scattered code segments that are somehow related: whether it be to search through code to understand a particular concern implementation,​ to mine aspects, or to isolate the location of a bug. Our existing NLPA tools combine program structure information such as calling relationships and code clone analysis with the natural language of comments, identifiers,​ and maintenance requests. Although we have only begun to explore the potential of NLPA, our various experimental results motivate further investigation of NLPA for
Line 18: Line 17:
 [1] L. Erlikh. Leveraging legacy system dollars for e-business. //IT Professional//,​ 2(3):17-23, 2000. [1] L. Erlikh. Leveraging legacy system dollars for e-business. //IT Professional//,​ 2(3):17-23, 2000.
  
-===== Selected Publications ​=====+===== Subprojects ​=====
  
-Emily Hill, Lori Pollock, and K. Vijay-Shanker. **"​Exploring the Neighborhood with Dora to Expedite Software Maintenance"​**,​ //​International Conference on Automated Software Engineering (ASE 2007)//, November 2007. 
  
-Lori Pollock, KVijay-Shanker, David Shepherd, ​Emily Hill, Zachary P. Fry, and Kishen Maloor, **"Introducing Natural Language Program Analysis"​**,​ Research Group Presentation at the //Workshop on Program Analysis ​for Software ​Tools and Engineering (PASTE 2007)//June 2007.+**[[http://​www.cis.udel.edu/​~hill/​context/​|Contextual Search]]** ​- Emily Hill, Lori Pollock, and K Vijay-Shankar. ​"Automatically Capturing Source Code Context ​for Software ​Maintenance ​and Reuse."​ International Conf on Software ​Engineering (ICSE), May 2009.
  
-David Shepherd, Zachary PFry, Emily Hill, Lori Pollock, and KVijay-Shanker, **"Using Natural Language Program Analysis ​to Locate and Understand Action-Oriented Concerns”**,​ //​International ​Conference on Aspect Oriented ​Software ​Development ​(AOSD 2007)//March 2007 +**[[http://​www.cis.udel.edu/​~enslen/​Site/​Samurai.html|SAMURAI]]** -Eric Enslen, Emily Hill, Lori Pollock, and K Vijay-Shanker"Mining Source Code to Automatically Split Identiers for Software Analysis."​ 6th IEEE Working ​Conference on Mining ​Software ​Repositories ​(MSR), May 2009.
  
-David Shepherd, Lori Pollock, and K. Vijay-Shanker, **"Towards Supporting On-Demand Virtual Remodularization Using Program Graphs”**,​ //​International ​Conference on Aspect Oriented ​Software ​Development (AOSD 2006)//March 2006 +**[[http://​www.cis.udel.edu/​~hill/​amap/​|AMAP]]** - Emily Hill, Zachary P. Fry, Haley Boyd, Giriprasad Sridhara, Yana Novikova, Lori Pollock, and K. Vijay-Shanker"AMAP: Automatically Mining Abbreviation Expansions in Programs to Enhance Software Maintenance Tools."​ MSR 2008: 5th Working ​Conference on Mining ​Software ​RepositoriesMay 2008.
  
-[[http://servo.cs.wlu.edu/dspace/simple-search?​query=%28%28project:​Natural%29+AND+%28project:​Language%29+AND+%28project:​Program%29+AND+%28project:​Analysis%29+AND+%28author:​Pollock%29%29&​header=Applying+Natural+Language+Analysis+to+Source+Programs+for+Software+Tools&title=Applying+Natural+Language+Analysis+to+Source+Programs+for+Software+Tools&primSort=Date&submit=Go|All NLPA Publications]]+**[[http://www.cis.udel.edu/~hill/dora/​|Dora]]** ​Emily Hill, Lori Pollock, and K. Vijay-Shanker. "​Exploring the Neighborhood with Dora to Expedite Software Maintenance",​ //​International Conference on Automated Software Engineering (ASE 2007)//, November 2007. 
 + 
 +**FindConcept** - David Shepherd, Zachary P. Fry, Emily Hill, Lori Pollock, and K. Vijay-Shanker,​ "​Using ​Natural Language Program Analysis ​to Locate and Understand Action-Oriented Concerns”,​ //​International Conference on Aspect Oriented Software Development (AOSD 2007)//, March 2007.   
 + 
 +**Timna** - David Shepherd, Lori Pollock, and Vijay-Shanker K.. "Case Study: Supplementing Program Analysis with Natural Language Analysis to Improve a Reverse Engineering Task." 7th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis ​for Software Tools and Engineering,​ ACM, June 2007. 
 + 
 +===== Publications ===== 
 + 
 +[[http://​servo.cs.wlu.edu/​pubs/​handle/​id/​244/​browse?​value=Natural+Language+Program+Analysis&type=project&sort_by=2&​order=DESC|Complete List of Our NLPA project publications]]
  
  
 ===== Contributors ===== ===== Contributors =====
   * **Faculty**:​ Lori Pollock, K. Vijay-Shanker   * **Faculty**:​ Lori Pollock, K. Vijay-Shanker
-  * **Ph.D. Students**: ​[[http://​www.cis.udel.edu/​~hill|Emily Gibson Hill]], ​Giri Sridhara+  * **Ph.D. Students**: Giri Sridhara
   * **Undergraduates**:​ [[http://​www.cis.udel.edu/​~enslen|Eric Enslen]], [[http://​www.cis.udel.edu/​~malik|Sana Malik]], Jon Schall   * **Undergraduates**:​ [[http://​www.cis.udel.edu/​~enslen|Eric Enslen]], [[http://​www.cis.udel.edu/​~malik|Sana Malik]], Jon Schall
-  * **Collaborators**:​ [[http://​www.cs.mcgill.ca/​~martin/​|Martin Robillard]],​ [[http://​www.win.tue.nl/​~ttourwe/​|Tom Tourwe]] +  * **Collaborators**: ​Brian Robinson (ABB), ​[[http://​www.cs.mcgill.ca/​~martin/​|Martin Robillard]],​ [[http://​www.win.tue.nl/​~ttourwe/​|Tom Tourwe]] 
-  * **Graduates**:​ [[http://​www.cis.udel.edu/​~shepherd|David Shepherd]], Kishen Maloor+  * **Graduates**: ​ ​[[http://​www.cis.udel.edu/​~hill|Emily Gibson Hill]], ​[[http://​www.cis.udel.edu/​~shepherd|David Shepherd]], Kishen Maloor
   * **Past Undergraduate Students**: Sue Lister, Meilani Williams, Haley Boyd, Zak Fry   * **Past Undergraduate Students**: Sue Lister, Meilani Williams, Haley Boyd, Zak Fry
projects/nlpa.1246560398.txt.gz · Last modified: 2009/07/02 14:46 by sprenkle
  • 213 Smith Hall   •   Computer & Information Sciences   •   Newark, DE 19716  •   USA
    Phone: 302-831-6339  •   Fax: 302-831-8458