Tag Archives: software engineering

Slides for talk on Ontology-based Classification and Faceted Search Interface for APIs

Slides for the talk on Ontology-based Classification and Faceted Search Interface for APIs are now available.

Ontology-based Classification and Faceted Search Interface for APIs

Ontology-based Classification and Faceted Search Interface for APIs

KNARIG ARABSHIAN

Hofstra University Department of Computer Science

This work introduces faceted service discovery. It uses the Programmable Web directory as its corpus of APIs and enhances the search to enable faceted search, given an OWL ontology. The ontology describes semantic features of the APIs. We have designed the API classification ontology using LexOnt, a software we have built for semi-automatic ontology creation tool. LexOnt is geared toward non-experts within a service domain who want to create a high-level ontology that describes the domain. Using well- known NLP algorithms, LexOnt generates a list of top terms and phrases from the Programmable Web corpus to enable users to find high-level features that distinguish one Programmable Web service category from another. To also aid non-experts, LexOnt relies on outside sources such as Wikipedia and Wordnet to help the user identify the important terms within a service category. Using the ontology created from LexOnt, we have created APIBrowse, a faceted search interface for APIs. The ontology, in combination with the use of the Apache Solr search platform, is used to generate a faceted search interface for APIs based on their distinguishing features. With this ontology, an API is classified and displayed underneath multiple categories and displayed within the APIBrowse interface. APIBrowse gives programmers the ability to search for APIs based on their semantic features and keywords and presents them with a filtered and more accurate set of search results.

Knarig Arabshian is an Assistant Professor in the Computer Science Department at Hofstra University, since Fall 2014. Prior to that she was a Member of Technical Staff at Bell Labs in Murray Hill, NJ. She received her Ph.D. in Computer Science from Columbia University in 2008.

Professor Arabshian’s interests lie in the field of semantic web, service discovery and composition, context-aware computing and distributed systems. The goal of her research is to drive forward the idea of a personalized web. Her work explores ways of describing data meaningfully and designing frameworks and systems for efficient data discovery. During her tenure at Bell Labs, she worked on different aspects of ontology creation, distribution and querying.

Slides

Ontology-based Classification and Faceted Search Interface for APIs

Ontology-based Classification and Faceted Search Interface for APIs

APRIL 7 @ 12:00 PM1:00 PM in N928

KNARIG ARABSHIAN

Hofstra University Department of Computer Science

This work introduces faceted service discovery. It uses the Programmable Web directory as its corpus of APIs and enhances the search to enable faceted search, given an OWL ontology. The ontology describes semantic features of the APIs. We have designed the API classification ontology using LexOnt, a software we have built for semi-automatic ontology creation tool. LexOnt is geared toward non-experts within a service domain who want to create a high-level ontology that describes the domain. Using well- known NLP algorithms, LexOnt generates a list of top terms and phrases from the Programmable Web corpus to enable users to find high-level features that distinguish one Programmable Web service category from another. To also aid non-experts, LexOnt relies on outside sources such as Wikipedia and Wordnet to help the user identify the important terms within a service category. Using the ontology created from LexOnt, we have created APIBrowse, a faceted search interface for APIs. The ontology, in combination with the use of the Apache Solr search platform, is used to generate a faceted search interface for APIs based on their distinguishing features. With this ontology, an API is classified and displayed underneath multiple categories and displayed within the APIBrowse interface. APIBrowse gives programmers the ability to search for APIs based on their semantic features and keywords and presents them with a filtered and more accurate set of search results.

Knarig Arabshian is an Assistant Professor in the Computer Science Department at Hofstra University, since Fall 2014. Prior to that she was a Member of Technical Staff at Bell Labs in Murray Hill, NJ. She received her Ph.D. in Computer Science from Columbia University in 2008.

Professor Arabshian’s interests lie in the field of semantic web, service discovery and composition, context-aware computing and distributed systems. The goal of her research is to drive forward the idea of a personalized web. Her work explores ways of describing data meaningfully and designing frameworks and systems for efficient data discovery. During her tenure at Bell Labs, she worked on different aspects of ontology creation, distribution and querying.

DETAILS

Date:
April 7
Time:
12:00 pm – 1:00 pm
Event Category:
Event Tags:
, , ,, ,

VENUE

N928
300 Jay St., Room N928
Brooklyn, NY 11201 United States
+ Google Map
Phone:
718-260-5170
Website:
http://www.citytech.cuny.edu/academics/deptsites/cst

ORGANIZER

Computer Systems Technology Colloquium Series
Phone:
(718) 260-5170
Email:
Website:
https://openlab.citytech.cuny.edu/cstcolloquium

SLIDES

Towards Improving Interface Modularity in Legacy Java Software Through Automated Refactoring

The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis.

Java 8 enhanced interfaces alleviate these problems by allowing interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need only examine the interface itself.

In this talk, I will argue that both these benefits improve software modularity, and I will discuss our ongoing work in developing an automated refactoring tool that would assist developers in taking advantage of the enhanced interface feature for their legacy Java software.

Raffi Khatchadourian is an Assistant Professor in the Department of Computer Systems Technology (CST) at New York City College of Technology (NYCCT) of the City University of New York (CUNY) and an Open Educational Resources (OER) Fellow for the Spring 2016 semester. His research is centered on techniques for automated software evolution, particularly those related to automated refactoring and source code recommendation systems. His goal is to ease the burden associated with correctly and efficiently evolving large and complex software by providing automated tools that can be easily used by developers.

Raffi received his MS and PhD degrees in Computer Science from Ohio State University and his BS degree in Computer Science from Monmouth University in New Jersey. Prior to joining City Tech, he was a Software Engineer at Apple, Inc. in Cupertino, California, where he worked on Digital Rights Management (DRM) for iTunes, iBooks, and the App store. He also developed distributed software that tested various features of iPhones, iPads, and iPods.

Slides for today’s talk on improving interface modularity in legacy Java software through automated refactoring

Towards Improving Interface Modularity in Legacy Java Software Through Automated Refactoring

Towards Improving Interface Modularity in Legacy Java Software Through Automated Refactoring

Raffi Khatchadourian

Department of Computer Systems Technology, New York City College of Technology, City University of New York

MARCH 3 @ 12:00 PM – 1:00 PM in N928

The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis.

Java 8 enhanced interfaces alleviate these problems by allowing interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need only examine the interface itself.

In this talk, I will argue that both these benefits improve software modularity, and I will discuss our ongoing work in developing an automated refactoring tool that would assist developers in taking advantage of the enhanced interface feature for their legacy Java software.

Raffi Khatchadourian is an Assistant Professor in the Department of Computer Systems Technology (CST) at New York City College of Technology (NYCCT) of the City University of New York (CUNY) and an Open Educational Resources (OER) Fellow for the Spring 2016 semester. His research is centered on techniques for automated software evolution, particularly those related to automated refactoring and source code recommendation systems. His goal is to ease the burden associated with correctly and efficiently evolving large and complex software by providing automated tools that can be easily used by developers.

Raffi received his MS and PhD degrees in Computer Science from Ohio State University and his BS degree in Computer Science from Monmouth University in New Jersey. Prior to joining City Tech, he was a Software Engineer at Apple, Inc. in Cupertino, California, where he worked on Digital Rights Management (DRM) for iTunes, iBooks, and the App store. He also developed distributed software that tested various features of iPhones, iPads, and iPods.

DETAILS

Date:
March 3
Time:
12:00 pm – 1:00 pm
Event Category:
Event Tags:
, , , , ,, , , ,

VENUE

N928
300 Jay St., Room N928
Brooklyn, NY 11201 United States
Phone:
718-260-5170
Website:
http://www.citytech.cuny.edu/academics/deptsites/cst

ORGANIZER

Computer Systems Technology Colloquium Series
Phone:
(718) 260-5170
Email:
Website:
https://openlab.citytech.cuny.edu/cstcolloquium

The Modern, Responsive Web Site

The Modern, Responsive Web Site

ANTHONY HOLLEY

Department of Computer Systems Technology, New York City College of Technology, City University of New York

More and more use is being made of cell phones for web exploration at the expense of conventional desk and laptop PCs. The modern web has to accommodate all these many screen sizes from High definition PC screens through iPads to miniature cell phone and maybe even smaller? This presentation will give many outward examples of valid web sites and discuss internal coding techniques.

Anthony is a Lecturer at the Computer Systems Technology Department of New York City College of Technology, City University of New York. He holds a BSc from King’s College London and an MBA from Regent Street Polytechnic, London, UK.

Poster

Subscribe


 

Feedback

The Modern, Responsive Web Site

The Modern, Responsive Web Site

ANTHONY HOLLEY

Department of Computer Systems Technology, New York City College of Technology, City University of New York

NOVEMBER 5 @ 12:00 PM1:00 PM in N922A

More and more use is being made of cell phones for web exploration at the expense of conventional desk and laptop PCs. The modern web has to accommodate all these many screen sizes from High definition PC screens through iPads to miniature cell phone and maybe even smaller? This presentation will give many outward examples of valid web sites and discuss internal coding techniques.

Anthony is a Lecturer at the Computer Systems Technology Department of New York City College of Technology, City University of New York. He holds a BSc from King’s College London and an MBA from Regent Street Polytechnic, London, UK.

Poster

Subscribe


 

Feedback

DETAILS

Date:
November 5
Time:
12:00 pm – 1:00 pm

VENUE

N922A
300 Jay St., Room N922A
Brooklyn, NY 11201 United States
+ Google Map
Phone:
(718) 260-5500
Website:
http://www.citytech.cuny.edu/

ORGANIZER

Computer Systems Technology Colloquium Series
Phone:
(718) 260-5170
Email:
Website:
https://openlab.citytech.cuny.edu/cstcolloquium

Slides for the “Static Analysis and Verification of C Programs” Talk

Slides for the “Static Analysis and Verification of C Programs” talk are now available on SlideShare.

Static Analysis and Verification of C Programs

Static Analysis and Verification of C Programs

Subash Shankar

Department of Computer Science, Hunter College, City University of New York

Recent years have seen the emergence of several static analysis techniques for reasoning about programs. This talk presents several major classes of techniques and tools that implement these techniques. Part of the presentation will be a demonstration of the tools.

Dr. Subash Shankar is an Associate Professor in the Computer Science department at Hunter College, CUNY. Prior to joining CUNY, he received a PhD from the University of Minnesota and was a postdoctoral fellow in the model checking group at Carnegie Mellon University. Dr. Shankar also has over 10 years of industrial experience, mostly in the areas of formal methods and tools for analyzing hardware and software systems.

Subscribe


 

Feedback