- This event has passed.
LANS Informal Seminar: Partha Pratim Das
February 20, 2019 @ 10:30 CST
Seminar Title: SmartKT: A Search Framework to assist Program Comprehension using Smart Knowledge Transfer
Speaker: Partha Pratim Das, Professor, Department of Computer Science & Engineering, Indian Institute of Technology Kharagpu
Date/Time: 2019-02-20 10:30
Location: Bldg. 240, Rm. 4301
Description:
Software maintenance is challenging as developers need to comprehend a large
codebase in a short span of time to fix bugs, improve performance for existing
features, or upgrade (extend / add new features) for existing applications.
More often, proper documentation (requirements, design, code), version change
traces, knowledge transfer (KT) from earlier developers are mostly not
available, or are inadequate. Hence the developer is forced to engage in
repetitive and menial tasks of running the application with the various test
cases to identify some execution patterns or to painstakingly examine the
source code to understand the design and comprehend the program. This process
is monotonous, error-prone, time-intensive, and often unmanageable for the
developers (specially the newcomers) leading to low productivity and a
considerable drop in the quality of output. Surveys by Ogheneovo [1] and
Hajrahmi et al. [2] have shown that to ensure software’s quality and
operability, there has been a significant increase in maintenance cost—up to
70% to 80% of the total software life cost in the last three decades. To reduce
this substantial overhead, we intend to incorporate an appropriate degree of
smartness into the process of knowledge transfer to help comprehend a program
effectively and increase the efficiency of the software maintenance tasks.
The research so far mostly attempts to help analyze and comprehend the specific
aspects of an application. Researchers have proposed approaches to increase
code readability, to locate relevant code fragments, to extract design models,
to detect bugs, to analyze the non-deterministic nature in case of parallel
programs, to predict the algorithmic patterns and the like. There exists no
framework which can provide near-complete multifaceted understanding of a
program from various perspectives. To address this challenge, we propose a
search framework named SmartKT (Smart Knowledge Transfer) to assist program
comprehension by responding to queries based on various aspects of an
application including design, implementation, run-time behaviour, bugs
detection, performance profiling, and the like. SmartKT, intuitively, may be
related to a key person of a software project who is aware of every aspect of
the project and can answer any query related to the same. We integrate SmartKT
with Eclipse IDE to ease its use.
The query engine of SmartKT sits on a semantic graph built from various
knowledge sources. As the design and code documentations are mostly noisy and
not machine readable, we explore the alternate sources like source code,
run-time traces, source code annotations, and program comments for extracting
knowledge and concepts. Based on source code, using static instrumentation, we
create our custom syntax tree with information related to type, scope and
definition-use for all program symbols. We implement an analyser DCUBE-ML to
discover design models from applications based on runtime traces using dynamic
instrumentation in a machine learning framework. We are presently working on a
metadata analyser named COMMENT-MINE which extracts program and problem domain
concepts from user comments and correlates them to program symbols using NLP
techniques. Finally, we intend to collate these concepts to build a semantic
graph using Resource Description Framework (RDF) and build an intelligent query
system over it.
1. Edward E Ogheneovo. On the relationship between software complexity and
maintenance costs. Journal of Computer and Communications, Scientific Research
Publishing, ACM, 2(14):1–6, 2014.
2. Sayed Mehdi Hejazi Dehaghani and Nafiseh Hajrahimi. Which factors affect
software projects maintenance cost more? Acta Informatica Medica, The Academy
of Medical Sciences of Bosnia and Herzegovina, 21(1):63–72, 2013.