Research Interests
Mashups
Combining Application Features

Mashups are applications that are created by combining features of other applications. Features are combined at the execution level, not at the source code level. Meaning that the mashup does not implement the composed features, but instead invokes them by executing their original implementations.

In this case, a feature is defined as an aspect of an application that can be extracted and combined with the aspects of other applications. An application can be composed of a single or several features. Features themselves can be combinations of features.

This concept of features is best demonstrated with an example. Consider an application that takes tabular data as input and produces a bar, line, or pie chart as output. The visualization of the charts is a feature of the application. However, this visualization is itself composed of several smaller features, one for each chart type. One can imagine two types of mashups, the first allows its users to visualize data using a variety of charts, and a second that restricts the visualization to a single chart type, such as a pie chart.

A key advantage of creating mashup applications, instead of creating applications from scratch, is the ability to reuse familiar features. For example, rather than creating a brand new mapping application, the developer can reuse existing and familiar mapping applications such as Google Maps or Yahoo Maps. By doing so, not only does the develop no longer need to understand the intricacies of creating a mapping application, but he is also able to include a user interface familiar to many of the mashup's users. This familiarity can contribute to the overall effectiveness of the application mashup.

By restricting the development process to feature composition, mashups enable users to rapidly create opportunistic applications aimed at niche audiences. This same restriction enables the creation of a wide variety of tools focused on generating application mashups.

A mock-up of a multi-touch mashup editor. Application windows are used as nodes in a graphical editor to capture how their features are connected.

The goal if this work is to create a mashup editor that will be equally useful to inexperienced, novice, and professional software engineers. Users will be able to capture functionality via demonstration, encoded via a visual programming language, and develop complex application by manipulating actual code. The tool should support all three modes of operation.

Autonomic Computing
Detecting and Mitigating Software Faults

Complex software systems have become commonplace in modern organizations and are considered critical to their daily operations. They are expected to run on a diverse set of platforms while interoperating with a wide variety of other applications and servers. Although there have been advances in the discipline of software engineering, faults still regularly cause system downtime. Faults are difficult to detect before an executing system reaches a point of failure, as the first symptom of a fault is often system failure itself. While it is unrealistic to expect software to be fault-free, actions such as resetting the software, quarantining specific software features, or logging the software's state prior to the failure for later analysis can be taken.

Our approach to solving the problem of fault detection and mitigation is name Aniketos and is centered around computational geometry. The technique has a training and a detection phase. The training phase involves collecting a variety of runtime measurements, such as CPU time and heap memory, and uses these measurements to build a geometric enclosure that represents the normal operating space of the application being monitored. During the detection phase, the geometric enclosure is used to classify runtime measurements. The application is considered to be in an anomalous state when the collected measurements are outside of the geometric enclosure.

A simplified example of the Aniketos approach. The green area represents the observed normal state. Anything inside of the green area is considered normal behavior. Anything outside of the green area is considered anomalous behavior. The red areas represent observed and labeled fault behavior.

We have tested our approach on several different systems with many different faults, all with favorable results. For more information please read the relevant papers.

Relevant Papers
  1. M. Shevertalov, K. Lynch, E. Stehle, C. Rorres, and S. Mancoridis. Using search methods for selecting and combining software sensors to improve fault detection in autonomic systems. In Search Based Software Engineering (SSBSE), 2010 Second International Symposium on, pages 120-129. IEEE, 2010.(download)
  2. E. Stehle, K. Lynch, M. Shevertalov, C. Rorres, and S. Mancoridis. On the use of Computational Geometry to Detect Software Faults at Runtime. In Proceedings of the 7th IEEE/ACM International Conference on Autonomic Computing and Communications, June 2010.(download)
Nothing this term.
Publications
MS Thesis
An Automatic Approach of Reverse Engineering the Protocols of Networked Applications. Drexel University, 2007.(download)
Conference Papers
  1. M. Shevertalov, K. Lynch, E. Stehle, C. Rorres, and S. Mancoridis. Using search methods for selecting and combining software sensors to improve fault detection in autonomic systems. In Search Based Software Engineering (SSBSE), 2010 Second International Symposium on, pages 120-129. IEEE, 2010.(download)
  2. E. Stehle, K. Lynch, M. Shevertalov, C. Rorres, and S. Mancoridis. On the use of Computational Geometry to Detect Software Faults at Runtime. In Proceedings of the 7th IEEE/ACM International Conference on Autonomic Computing and Communications, June 2010.(download)
  3. E. Stehle, M. Shevertalov, P. Degr, S. Mancoridis, and M. Kam. Perception of Utility in Autonomic VoIP Systems. International Journal on Advances in Intelligent Systems, 2(1), 2009.(download)
  4. M. Shevertalov, J. Kothari, E. Stehle, and S. Mancoridis. On the Use of Discretized Source Code Metrics for Author Identification. In Search Based Software Engineering, 2009 1st International Symposium on, pages 69-78. IEEE, 2009.(download)
  5. M. Shevertalov and S. Mancoridis. A case study on the automatic composition of network application mashups. In Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering-Volume 00, pages 359-362. IEEE Computer Society, 2008.(download)
  6. W.M. Mongan, M. Shevertalov, and S. Mancoridis. Re-engineering a reverse engineering portal to a distributed SOA. In Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on, pages 218-223. IEEE, 2008.(download)
  7. E. Stehle, M. Shevertalov, P. deGrandis, S. Mancoridis, and M. Kam. Task Dependency of User Perceived Utility in Autonomic VoIP Systems. In Autonomic and Autonomous Systems, 2008. ICAS 2008. Fourth International Conference on, pages 248-254. IEEE, 2008. (won best paper).(download)
  8. M. Shevertalov and S. Mancoridis. A reverse engineering tool for extracting protocols of networked applications. In Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on, pages 229-238. IEEE, 2007(download)
  9. R. Lange, J. Max-Sohmer, M. Shevertalov, J. Kothari, and S. Mancoridis. Identifying Source Code Authorship. Software Security Assessments CoBaSSA 2007, page 14, 2007.
  10. M. Shevertalov, E. Sterile, and S. Mancoridis. A genetic algorithm for solving the binning problem in networked applications detection. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress on, pages 713-720. IEEE, 2007.(download)
  11. M. Shevertalov, E. Stehle, C. Rorres, S. Mancoridis, and M. Kam. An Approach to Comprehending Networked Applications through Analogy. In Autonomic and Autonomous Systems, 2007. ICAS07. Third International Conference on, page 15. IEEE, 2007.(download)
  12. J. Kothari, M. Shevertalov, E. Stehle, and S. Mancoridis. A probabilistic approach to source code authorship identification. In 4th International Conference on Information Technology : New Generations, April 2007.(download)