Senthil Mani

dblp:85/1789 · also K. M. Senthil Kumar, Senthil Kumar Kumarasamy Mani · DBLP profile ↗
← Back
34ranked-venue papers
9as first author
1since 2021 · last 2025
0000-0002-9624-2623ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 25 · 7 first-authorDatabases, data management, data science and information retrieval · 7 · 1 first-authorArtificial intelligence and machine learning · 6 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 5 · 2 first-authorHuman-computer interaction and ubiquitous computing · 2Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
10 papers
Empirical software engineering · 19% Requirements engineering and software design · 17% Program synthesis and code generation · 15%
Artificial intelligence
4 papers
Language models and text generation · 38% Question answering and dialogue systems · 19% Knowledge representation and reasoning · 19%
Databases, data mining, and information retrieval
2 papers
Information retrieval · 70% Data models and query languages · 30%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Cloud and datacenter computing · 100%

Topics — the 24 heaviest of 30, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.532014
Panning requirement nuggets in stream of software maintenance tickets · SIGSOFT FSE 2014
NeedFeed: taming change notifications by modeling code relevance · ASE 2014
AUSUM: approach for unsupervised bug report summarization · SIGSOFT FSE 2012
Natural language and speech › Information extraction and text analysis › word segmentation
chinese word segmentation
0.312018
Sanskrit Sandhi Splitting using seq2(seq)2 · EMNLP 2018
Knowledge, reasoning and agents › Knowledge representation and reasoning
knowledge graph
0.312018
Hi, How Can I Help You?: Automating Enterprise IT Support Help Desks · AAAI 2018
User interface design and tools
visual programming
0.312018
Democratization of Deep Learning Using DARVIZ · AAAI 2018
Compilers and program optimization
code generation
0.312018
Democratization of Deep Learning Using DARVIZ · AAAI 2018
Data models and query languages
natural language interface
0.312017
Natural language querying in SAP-ERP platform · ESEC/SIGSOFT FSE 2017
Information retrieval › query formulation
natural language querying
0.312017
Natural language querying in SAP-ERP platform · ESEC/SIGSOFT FSE 2017
Information retrieval
question answering
0.312017
Natural language querying in SAP-ERP platform · ESEC/SIGSOFT FSE 2017
Requirements engineering and software design
model-driven engineering
0.222011
Using MATCON to generate CASE tools that guide deployment of pre-packaged applications · ICSE 2011
Demystifying model transformations: an approach based on automated rule inference · OOPSLA 2009
Programming languages and type systems
development environment
0.212015
Smart Programming Playgrounds · ICSE (2) 2015
Cloud and datacenter computing › resource allocation
cloud resource allocation
0.212015
Smart Programming Playgrounds · ICSE (2) 2015
Requirements engineering and software design › requirements elicitation
requirements extraction
0.212014
Panning requirement nuggets in stream of software maintenance tickets · SIGSOFT FSE 2014
Program analysis
static analysis
0.222015
Demystifying model transformations: an approach based on automated rule inference · OOPSLA 2009
Smart Programming Playgrounds · ICSE (2) 2015
Software maintenance and evolution › issue tracking
bug report summarization
0.112012
AUSUM: approach for unsupervised bug report summarization · SIGSOFT FSE 2012
Debugging and program repair
automated program repair
0.112010
Automated support for repairing input-model faults · ASE 2010
Debugging and program repair
fault localization
0.112010
Automated support for repairing input-model faults · ASE 2010
Program analysis › static analysis
taint analysis
0.112010
Automated support for repairing input-model faults · ASE 2010
Information retrieval › retrieval models › lexical retrieval
bag-of-words retrieval
0.112018
Hi, How Can I Help You?: Automating Enterprise IT Support Help Desks · AAAI 2018
Services computing and microservices › service management
IT service management
0.112018
Agent Assist: Automating Enterprise IT Support Help Desks · AAAI 2018
Requirements engineering and software design › model-driven engineering
model transformation
0.112009
Demystifying model transformations: an approach based on automated rule inference · OOPSLA 2009
Program synthesis and code generation
rule learning
0.112009
Demystifying model transformations: an approach based on automated rule inference · OOPSLA 2009
Program analysis › static analysis
dependency analysis
0.112015
Smart Programming Playgrounds · ICSE (2) 2015
Software maintenance and evolution
code review
0.112014
NeedFeed: taming change notifications by modeling code relevance · ASE 2014
Empirical software engineering › software evaluation
model validation
0.012009
Demystifying model transformations: an approach based on automated rule inference · OOPSLA 2009

Methods — techniques the papers use, named apart from their topics

visual editor · 0.7natural language processing · 0.7knowledge graph · 0.7grammar-based generation · 0.7drag-and-drop UI · 0.7diagram parsing · 0.7code generation · 0.7bag-of-words search · 0.7agent assistance · 0.7resource binding injection · 0.4context resolution · 0.4text clustering · 0.3double decoder RNN · 0.3deep learning classifiers · 0.3deep learning classifier · 0.3deep learning · 0.3ontology-driven querying · 0.3
YearPublicationVenuePosition
2025 From Noise to Clarity: Emerging Trends in Speech Enhancement for Real-Time Communication
abstract
Real-time communication demands speech that is both intelligible and natural, even in noisy environments. This paper traces the progression of speech enhancement from traditional DSP techniques-such as spectral subtraction and Wiener filtering-to modern deep learning and diffusion-based models. While classical methods offer low latency and interpretability, they falter in complex, non-stationary noise. Deep neural networks, including CNNs, RNNs, and transformers, brought adaptive, data-driven noise suppression with superior performance. Most recently, diffusion models have redefined the state-of-the-art, enabling high-fidelity speech reconstruction from heavily corrupted inputs. We present a comparative analysis of these approaches in terms of effectiveness, latency, and deployment feasibility, and highlight the promise of hybrid models that unify DSP precision with generative AI power.
Preethi Sunke, Senthil Mani
TENCON2
2019 Adversarial Black-Box Attacks on Automatic Speech Recognition Systems Using Multi-Objective Evolutionary Optimization
abstract
Fooling deep neural networks with adversarial input have exposed a significant vulnerability in the current state-of-the-art systems in multiple domains. Both black-box and white-box approaches have been used to either replicate the model itself or to craft examples which cause the model to fail. In this work, we propose a framework which uses multi-objective evolutionary optimization to perform both targeted and un-targeted black-box attacks on Automatic Speech Recognition (ASR) systems. We apply this framework on two ASR systems: Deepspeech and Kaldi-ASR, which increases the Word Error Rates (WER) of these systems by upto 980%, indicating the potency of our approach. During both un-targeted and targeted attacks, the adversarial samples maintain a high acoustic similarity of 0.98 and 0.97 with the original audio.
Shreya Khare, Rahul Aralikatte, Senthil Mani
INTERSPEECH3
2018 Hi, How Can I Help You?: Automating Enterprise IT Support Help Desks
abstract
Question answering is one of the primary challenges of natural language understanding. In realizing such a system, providing complex long answers to questions is a challenging task as opposed to factoid answering as the former needs context disambiguation. The different methods explored in the literature can be broadly classified into three categories namely: 1) classification based, 2) knowledge graph based and 3) retrieval based. Individually, none of them address the need of an enterprise wide assistance system for an IT support and maintenance domain. In this domain, the variance of answers is large ranging from factoid to structured operating procedures; the knowledge is present across heterogeneous data sources like application specific documentation, ticket management systems and any single technique for a general purpose assistance is unable to scale for such a landscape. To address this, we have built a cognitive platform with capabilities adopted for this domain. Further, we have built a general purpose question answering system leveraging the platform that can be instantiated for multiple products, technologies in the support domain. The system uses a novel hybrid answering model that orchestrates across a deep learning classifier, a knowledge graph based context disambiguation module and a sophisticated bag-of-words search system. This orchestration performs context switching for a provided question and also does a smooth hand-off of the question to a human expert if none of the automated techniques can provide a confident answer. This system has been deployed across 675 internal enterprise IT support and maintenance projects.
Senthil Mani, Neelamadhav Gantayat, Rahul Aralikatte, Monika Gupta 0002, Sampath Dechu, Anush Sankaran, Shreya Khare, Barry Mitchell, Hemamalini Subramanian, Hema Venkatarangan
AAAI1
2018 Agent Assist: Automating Enterprise IT Support Help Desks
Senthil Mani, Neelamadhav Gantayat, Rahul Aralikatte, Monika Gupta 0002, Sampath Dechu, Anush Sankaran, Shreya Khare, Barry Mitchell, Hemamalini Subramanian, Hema Venkatarangan
AAAI1
2018 Democratization of Deep Learning Using DARVIZ
abstract
With an abundance of research papers in deep learning, adoption and reproducibility of existing works becomes a challenge. To make a DL developer life easy, we propose a novel system, DARVIZ, to visually design a DL model using a drag-and-drop framework in an platform agnostic manner. The code could be automatically generated in both Caffe and Keras. DARVIZ could import (i) any existing Caffe code, or (ii) a research paper containing a DL design; extract the design, and present it in visual editor.
Anush Sankaran, Naveen Panwar, Shreya Khare, Senthil Mani, Akshay Sethi, Rahul Aralikatte, Neelamadhav Gantayat
AAAI4
2018 DLPaper2Code: Auto-Generation of Code From Deep Learning Research Papers
abstract
With an abundance of research papers in deep learning, reproducibility or adoption of the existing works becomes a challenge. This is due to the lack of open source implementations provided by the authors. Even if the source code is available, then re-implementing research papers in a different library is a daunting task. To address these challenges, we propose a novel extensible approach, DLPaper2Code, to extract and understand deep learning design flow diagrams and tables available in a research paper and convert them to an abstract computational graph. The extracted computational graph is then converted into execution ready source code in both Keras and Caffe, in real-time. An arXiv-like website is created where the automatically generated designs is made publicly available for 5,000 research papers. The generated designs could be rated and edited using an intuitive drag-and-drop UI framework in a crowd sourced manner. To evaluate our approach, we create a simulated dataset with over 216,000 valid deep learning design flow diagrams using a manually defined grammar. Experiments on the simulated dataset show that the proposed framework provide more than 93% accuracy in flow diagram content extraction.
Akshay Sethi, Anush Sankaran, Naveen Panwar, Shreya Khare, Senthil Mani
AAAI5
2018 Sanskrit Sandhi Splitting using seq2(seq)2
abstract
In Sanskrit, small words (morphemes) are combined to form compound words through a process known as Sandhi.Sandhi splitting is the process of splitting a given compound word into its constituent morphemes.Although rules governing word splitting exists in the language, it is highly challenging to identify the location of the splits in a compound word.Though existing Sandhi splitting systems incorporate these pre-defined splitting rules, they have a low accuracy as the same compound word might be broken down in multiple ways to provide syntactically correct splits.In this research, we propose a novel deep learning architecture called Double Decoder RNN (DD-RNN), which (i) predicts the location of the split(s) with 95% accuracy, and (ii) predicts the constituent words (learning the Sandhi splitting rules) with 79.5% accuracy, outperforming the state-of-art by 20%.Additionally, we show the generalization capability of our deep learning model, by showing competitive results in the problem of Chinese word segmentation, as well.
Rahul Aralikatte, Neelamadhav Gantayat, Naveen Panwar, Anush Sankaran, Senthil Mani
EMNLP5
2018 Towards Creating Business Process Models from Images
Neelamadhav Gantayat, Giriprasad Sridhara, Anush Sankaran, Sampath Dechu, Senthil Mani, Gargi Dasgupta
ICSOC5
2018 Prediction of Invoice Payment Status in Account Payable Business Process
Tarun Tater, Sampath Dechu, Senthil Mani, Chandresh Maurya
ICSOC3
2017 Natural language querying in SAP-ERP platform
abstract
With the omnipresence of mobile devices coupled with recent advances in automatic speech recognition capabilities, there has been a growing demand for natural language query (NLQ) interface to retrieve information from the knowledge bases. Business users particularly find this useful as NLQ interface enables them to ask questions without the knowledge of the query language or the data schema. In this paper, we apply an existing research technology called ``ATHENA: An Ontology-Driven System for Natural Language Querying over Relational Data Stores'' in the industry domain of SAP-ERP systems. The goal is to enable users to query SAP-ERP data using natural language. We present the challenges and their solutions of such a technology transfer. We present the effectiveness of the natural language query interface on a set of questions given by a set of SAP practitioners.
Diptikalyan Saha, Neelamadhav Gantayat, Senthil Mani, Barry Mitchell
ESEC/SIGSOFT FSE3
2015 Smart Programming Playgrounds
abstract
Modern IDEs contain sophisticated components for inferring missing types, correcting bad syntax and completing partial expressions in code, but they are limited to the context that is explicitly defined in a project's configuration. These tools are ill-suited for quick prototyping of incomplete code snippets, such as those found on the Web in Q&A forums or walk-through tutorials, since such code snippets often assume the availability of external dependencies and may even contain implicit references to an execution environment that provides data or compute services. We propose an architecture for smart programming playgrounds that can facilitate rapid prototyping of incomplete code snippets through a semi-automatic context resolution that involves identifying static dependencies, provisioning external resources on the cloud and injecting resource bindings to handles in the original code fragment. Such a system could be potentially useful in a range of different scenarios, from sharing code snippets on the Web to experimenting with new ideas during traditional software development.
Rohan Padhye, Pankaj Dhoolia, Senthil Mani, Vibha Sinha
ICSE (2)3
2015 The Synergy between Voting and Acceptance of Answers on StackOverflow - Or the Lack Thereof
abstract
StackOverflow's primary goal is to serve as a platform for users to solicit answers regarding programming questions, though its archives are often used by other users who face similar issues and thus it serves a secondary purpose of documenting common problems. The two driving mechanisms for filtering out low quality posts and highlighting the best answers are community votes and the mark of acceptance by the original question asker. But does the asker's choice always match the popular vote? If so, is the asker's choice influenced by the community vote or is the community vote biased towards the accepted answer? And if the asker and community disagree, then can we determine any particular characteristics of posts that influence the choice of the asker and community differently, such as its size, readability, presence of code snippets and external links as well as similarity to the original question? In this paper, we explore the answers to these questions by studying a data-set of all posts on StackOverflow from its launch in September 2008 to September 2014.
Neelamadhav Gantayat, Pankaj Dhoolia, Rohan Padhye, Senthil Mani, Vibha Sinha
MSR4
2015 Detecting and Mitigating Secret-Key Leaks in Source Code Repositories
abstract
Several news articles in the past year highlighted incidents in which malicious users stole API keys embedded in files hosted on public source code repositories such as GitHub and Bit Bucket in order to drive their own work-loads for free. While some service providers such as Amazon have started taking steps to actively discover such developer carelessness by scouting public repositories and suspending leaked API keys, there is little support for tackling the problem from the code sharing platforms themselves. In this paper, we discuss practical solutions to detecting, preventing and fixing API key leaks. We first outline a handful of methods for detecting API keys embedded within source code, and evaluate their effectiveness using a sample set of projects from GitHub. Second, we enumerate the mechanisms which could be used by developers to prevent or fix key leaks in code repositories manually. Finally, we outline a possible solution that combines these techniques to provide tool support for protecting against key leaks in version control systems.
Vibha Sinha, Diptikalyan Saha, Pankaj Dhoolia, Rohan Padhye, Senthil Mani
MSR5
2014 NeedFeed: taming change notifications by modeling code relevance
abstract
Most software development tools allow developers to subscribe to notifications about code checked-in by their team members in order to review changes to artifacts that they are responsible for. However, past user studies have indicated that this mechanism is counter-productive, as developers spend a significant amount of effort sifting through such feeds looking for items that are relevant to them. We present NeedFeed, a system that models code relevance by mining a project's software repository and highlights changes that a developer may need to review. We evaluate several techniques to model code relevance, from a naive TOUCH-based approach to generic HISTORY-based classifiers using temporal code metrics at file and method-level granularities, which are then improved by building developer-specific models using TEXT-based features from commit messages. NeedFeed reduces notification clutter by more than 90%, on average, with the best strategy giving an average precision and recall of more than 75%.
Rohan Padhye, Senthil Mani, Vibha Sinha
ASE2
2014 A study of external community contribution to open-source projects on GitHub
abstract
Open-source software projects are primarily driven by community contribution. However, commit access to such projects' software repositories is often strictly controlled. These projects prefer to solicit external participation in the form of patches or pull requests. In this paper, we analyze a set of 89 top-starred GitHub projects and their forks in order to explore the nature and distribution of such community contribution. We first classify commits (and developers) into three categories: core, external and mutant, and study the relative sizes of each of these classes through a ring-based visualization. We observe that projects written in mainstream scripting languages such as JavaScript and Python tend to include more external participation than projects written in upcoming languages such as Scala. We also visualize the geographic spread of these communities via geocoding. Finally, we classify the types of pull requests submitted based on their labels and observe that bug fixes are more likely to be merged into the main projects as compared to feature enhancements.
Rohan Padhye, Senthil Mani, Vibha Sinha
MSR2
2014 Panning requirement nuggets in stream of software maintenance tickets
abstract
There is an increasing trend to outsource maintenance of large applications and application portfolios of a business to third parties, specialising in application maintenance, who are incented to deliver the best possible maintenance at the lowest cost. To do so, they need to identify repeat problem areas, which cause more maintenance grief, and seek a unified remedy to avoid the costs spent on fixing these individually. These repeat areas, in a sense, represent major, evolving areas of need, or requirements, for the customer. The information about the repeating problem is typically embedded in the unstructured text of multiple tickets, waiting to be found and addressed. Currently, repeat problems are found by manual analysis; effective solutions depend on the collective experience of the team solving them. In this paper, we propose an approach to automatically analyze problem tickets to discover groups of problems being reported in them and provide meaningful, descriptive labels to help interpret these groups. Our approach incorporates a cleansing phase to handle the high level of noise observed in problem tickets and a method to incorporate multiple text clustering techniques and merge their results in a meaningful manner. We provide detailed experiments to quantitatively and qualitatively evaluate our approach
Senthil Mani, Karthik Sankaranarayanan, Vibha Sinha, Premkumar T. Devanbu
SIGSOFT FSE1
2013 Bug resolution catalysts: identifying essential non-committers from bug repositories
abstract
Bugs are inevitable in software projects. Resolving bugs is the primary activity in software maintenance. Developers, who fix bugs through code changes, are naturally important participants in bug resolution. However, there are other participants in these projects who do not perform any code commits. They can be reporters reporting bugs; people having a deep technical know-how of the software and providing valuable insights on how to solve the bug; bug-tossers who re-assign the bugs to the right set of developers. Even though all of them act on the bugs by tossing and commenting, not all of them may be crucial for bug resolution. In this paper, we formally define essential non-committers and try to identify these bug resolution catalysts. We empirically study 98304 bug reports across 11 open source and 5 commercial software projects for validating the existence of such catalysts. We propose a network analysis based approach to construct a Minimal Essential Graph that identifies such people in a project. Finally, we suggest ways of leveraging this information for bug triaging and bug report summarization.
Senthil Mani, Seema Nagar, Debdoot Mukherjee, Ramasuri Narayanam, Vibha Sinha, Amit Anil Nanavati
MSR1
2013 Exploring activeness of users in QA forums
abstract
Success of a Q&A forum depends on volume of content (questions and answers) and quality of content (are the questions asked relevant, answers provided correct etc). Community participation is essential to create and curate content. Since their inception in 2008, stack exchange based forums have been able to engage a large number of users to create a rich repository of good quality questions and answers. In this paper, we wish to investigate the “activeness” of users in the stackexchange network particularly from a perspective of content creation. We also attempt to measure how the forums' incentive mechanism has enabled user's activeness. Further, we investigate how user's have diffused to other parts of the stack exchange network over time, hence bootstrapping new forums.
Vibha Sinha, Senthil Mani, Monika Gupta 0002
MSR2
2012 MINCE: Mining change history of Android project
abstract
An analysis of commit history of Android reveals that Android has a code base of 550K files, where on an average each file has been modified 8.7 times. 41% of files have been modified at-least once. In terms of contributors, it has an overall contributor community of 1563, with 58.5% of them having made >; 5 commits. Moreover, the contributor community shows high churn levels, with only 13 of contributors continuing from 2005 to 2011. In terms of industry participation, Google & Android account for 22% of developers. Intel and RedHat account for 2% of contributors each and IBM, Oracle, TI, SGI account for another 1% each. Android code can be classified into 5 sub-projects: kernel, platform, device, tools and toolchain. In this paper, we profile each of these sub-projects in terms of change volumes, contributor and industry participation. We further picked specific framework topics such as UI, security, whose understanding is required from perspective of developing apps over Android, and present some insights on community participation around the same.
Vibha Sinha, Senthil Mani, Monika Gupta 0002
MSR2
2012 AUSUM: approach for unsupervised bug report summarization
abstract
In most software projects, resolved bugs are archived for future reference. These bug reports contain valuable information on the reported problem, investigation and resolution. When bug triaging, developers look for how similar problems were resolved in the past. Search over bug repository gives the developer a set of recommended bugs to look into. However, the developer still needs to manually peruse the contents of the recommended bugs which might vary in size from a couple of lines to thousands. Automatic summarization of bug reports is one way to reduce the amount of data a developer might need to go through. Prior work has presented learning based approaches for bug summarization. These approaches have the disadvantage of requiring large training set and being biased towards the data on which the model was learnt. In fact, maximum efficacy was reported when the model was trained and tested on bug reports from the same project. In this paper, we present the results of applying four unsupervised summarization techniques for bug summarization. Industrial bug reports typically contain a large amount of noise---email dump, chat transcripts, core-dump---useless sentences from the perspective of summarization. These derail the unsupervised approaches, which are optimized to work on more well-formed documents. We present an approach for noise reduction, which helps to improve the precision of summarization over the base technique (4% to 24% across subjects and base techniques). Importantly, by applying noise reduction, two of the unsupervised techniques became scalable for large sized bug reports.
Senthil Mani, Rose Catherine, Vibha Sinha, Avinava Dubey
SIGSOFT FSE1
2011 Serving Information Needs in Business Process Consulting
Monika Gupta 0002, Debdoot Mukherjee, Senthil Mani, Vibha Sinha, Saurabh Sinha 0001
BPM3
2011 Using MATCON to generate CASE tools that guide deployment of pre-packaged applications
abstract
The complex process of adapting pre-packaged applications, such as Oracle or SAP, to an organization's needs is full of challenges. Although detailed, structured, and well-documented methods govern this process, the consulting team implementing the method must spend a huge amount of manual effort to make sure the guidelines of the method are followed as intended by the method author. MATCON breaks down the method content, documents, templates, and work products into reusable objects, and enables them to be cataloged and indexed so these objects can be easily found and reused on subsequent projects. By using models and meta-modeling the reusable methods, we automatically produce a CASE tool to apply these methods, thereby guiding consultants through this complex process. The resulting tool helps consultants create the method deliverables for the initial phases of large customization projects. Our MATCON output, referred to as Consultant Assistant, has shown significant savings in training costs, a 20 - 30% improvement in productivity, and positive results in large Oracle and SAP implementations.
Elad Fein, Natalia Razinkov, Shlomit Shachor, Pietro Mazzoleni, SweeFen Goh, Richard Goodwin, Manisha Bhandar, Shyh-Kwei Chen, Juhnyoung Lee, Vibha Sinha, Senthil Mani, Debdoot Mukherjee, Biplav Srivastava, Pankaj Dhoolia
ICSE11
2011 Regression testing in the presence of non-code changes
abstract
Regression testing is an important activity performed to validate modified software, and one of its key tasks is regression test selection (RTS) -- selecting a subset of existing test cases to run on the modified software. Most existing RTS techniques focus on changes made to code components and completely ignore non-code elements, such as configuration files and databases, which can also change and affect the system behavior. To address this issue, we present a new RTS technique that performs accurate test selection in the presence of changes to non-code components. To do this, our technique computes traceability between test cases and the external data accessed by an application, and uses this information to perform RTS in the presence of changes to non-code elements. We present our technique, a prototype implementation of our technique, and a set of preliminary empirical results that illustrate the feasibility, effectiveness, and potential usefulness of our approach.
Agastya Nanda, Senthil Mani, Saurabh Sinha 0003, Mary Jean Harrold, Alessandro Orso
ICST2
2011 Entering the circle of trust: developer initiation as committers in open-source projects
abstract
The success of an open-source project depends to a large degree on the proactive and constructive participation by the developer community. An important role that developers play in a project is that of a code committer. However, code-commit privilege is typically restricted to the core group of a project. In this paper, we study the phenomenon of the induction of external developers as code committers. The trustworthiness of an external developer is one of the key factors that determines the granting of commit privileges. Therefore, we formulate different hypotheses to explain how the trust is established in practice. To investigate our hypotheses, we developed an automated approach based on mining code repositories and bug-tracking systems. We implemented the approach and performed an empirical study, using the Eclipse projects, to test the hypotheses. Our results indicate that, most frequently, developers establish trust and credibility in a project by contributing to the project in a non-committer role. Moreover, the employing organization of a developer is another factor--although a less significant one--that influences trust.
Vibha Sinha, Senthil Mani, Saurabh Sinha 0001
MSR2
2010 Debugging Model-Transformation Failures Using Dynamic Tainting
Pankaj Dhoolia, Senthil Mani, Vibha Sinha, Saurabh Sinha 0001
ECOOP2
2010 Automated support for repairing input-model faults
abstract
Model transforms are a class of applications that convert a model to another model or text. The inputs to such transforms are often large and complex; therefore, faults in the models that cause a transformation to generate incorrect output can be difficult to identify and fix. In previous work, we presented an approach that uses dynamic tainting to help locate input-model faults. In this paper, we present techniques to assist with repairing input-model faults. Our approach collects runtime information for the failing transformation, and computes repair actions that are targeted toward fixing the immediate cause of the failure. In many cases, these repair actions result in the generation of the correct output. In other cases, the initial fix can be incomplete, with the input model requiring further repairs. To address this, we present a pattern-analysis technique that identifies correct output fragments that are similar to the incorrect fragment and, based on the taint information associated with such fragments, computes additional repair actions. We present the results of empirical studies, conducted using real model transforms, which illustrate the applicability and effectiveness of our approach for repairing different types of faults.
Senthil Mani, Vibha Sinha, Pankaj Dhoolia, Saurabh Sinha 0001
ASE1
2009 Efficient Testing of Service-Oriented Applications Using Semantic Service Stubs
abstract
Service-oriented applications can be expensive to test because services are hosted remotely, are potentially shared among many users, and may have costs associated with their invocation. In this paper, we present an approach for reducing the costs of testing such applications. The key observation underlying our approach is that certain aspects of an application can be tested using locally deployed semantic service stubs, instead of actual remote services.A semantic service stub incorporates some of the service functionality, such as verifying preconditions and generating output messages based on post conditions. We illustrate how semantic stubs can enable the client test suite to be partitioned into subsets, some of which need not be executed using remote services. We also present a case study that demonstrates the feasibility of the approach, and potential cost savings for testing. The main benefits of our approach are that it can (1) reduce the number of test cases that need to be run to invoke remote services, (2) ensure that certain aspects of application functionality are well-tested before service integration occurs.
Senthil Mani, Vibha Sinha, Saurabh Sinha 0001, Pankaj Dhoolia, Debdoot Mukherjee, Soham Chakraborty 0001
ICWS1
2009 Reflection of a Year Long Model-Driven Business and UI Modeling Development Project
Noi Sukaviriya, Senthil Mani, Vibha Sinha
INTERACT (2)2
2009 Demystifying model transformations: an approach based on automated rule inference
abstract
Model-driven development (MDD) is widely used to develop modern business applications. MDD involves creating models at different levels of abstractions. Starting with models of domain concepts, these abstractions are successively refined, using transforms, to design-level models and, eventually, code-level artifacts. Although many tools exist that support transform creation and verification, tools that help users in understanding and using transforms are rare. In this paper, we present an approach for assisting users in understanding model transformations and debugging their input models. We use automated program-analysis techniques to analyze the transform code and compute constraints under which a transformation may fail or be incomplete. These code-level constraints are mapped to the input model elements to generate model-level rules. The rules can be used to validate whether an input model violates transform constraints, and to support general user queries about a transformation. We have implemented the analysis in a tool called XYLEM. We present empirical results, which indicate that (1) our approach can be effective in inferring useful rules, and (2) the rules let users efficiently diagnose a failing transformation without examining the transform source code.
Mangala Gowri Nanda, Senthil Mani, Vibha Sinha, Saurabh Sinha 0001
OOPSLA2
2008 Using User Interface Design to Enhance Service Identification
abstract
User interface (UI) design is an integral part of the software design process. The UI design not only outlines the look and feel of the system, but also helps in flushing out the requirements - by identifying what data is visible to and processed by different users. However, in any SOA methodology, UI design is typically considered out of scope. In this paper, we highlight the importance of UI design specification in the SOA landscape, from a service- identification perspective. Service identification, which is a key activity in any SOA-based development, involves specification of business requirements as a set of granular service definitions. We propose an approach for harvesting the UI design specification to define service requirements for the intended system; more specifically in terms of information and business service requirements. Our approach consists of the following steps: (1) capture user interface design in a format amenable to automated analysis, with appropriate references to data and process models, (2) identify requirements for information services from data that is displayed in the user interface, and (3) identify business service requirements from the UI navigation flow and the links between the UI and the business process model. To illustrate our approach, we present a case study using the Amazon associate Web services. The study demonstrates how the use of UI designs can lead to better service identification. The proposed approach can complement any existing SOA methodology that follows a top-down approach to identify services.
Senthil Mani, Vibha Sinha, Noi Sukaviriya, Thejaswini Ramachandra
ICWS1
2007 User-Centered Design and Business Process Modeling: Cross Road in Rapid Prototyping Tools
Noi Sukaviriya, Vibha Sinha, Thejaswini Ramachandra, Senthil Mani, Markus Stolze
INTERACT (1)4
2007 Model-Driven Approach for Managing Human Interface Design Life Cycle
Noi Sukaviriya, Vibha Sinha, Thejaswini Ramachandra, Senthil Mani
MoDELS4
2006 Preventing Service Oriented Denial of Service (PreSODoS): A Proposed Approach
abstract
Today Web services have grown in context of both business to business (B2B) and business to customer (B2C) applications. Web services are the most popular mode of implementing Service Oriented Architecture (SOA). With this growth and acceptance in the industry, the role of security is crucial. Most of the existing security mechanisms in Web services like XML encryption[4], digital signatures[3], user tokens etc. provide security on one basic assumption that source of the request is legitimate. But a typical Denial of Service attacker can use these sources as reflectors and play around with the contents of a Web service body to create an attack scenario. In this paper, we propose PreSODoS - a framework to detect and prevent XML based Denial of Service (XDoS) attacks on Web services based applications. The framework relies on content introspection to detect any XDoS possibility. We use a Patricia Trie based representation so that the schemas and the request messages can be compared and validated in a performance efficient manner. PreSODoS is capable of detecting any repetitive request message and sense an attack scenario and trigger corresponding prevention mechanisms.
Srinivas Padmanabhuni, Senthil Mani, Abhishek Chatterjee
ICWS3
2004 WS-I Basic Profile: A Practitioner's View
abstract
Interoperability refers to the ability of software and hardware on multiple machines from multiple vendors to communicate with each other without significant changes on either side. Web services streamline enterprise application integration by making it easier to tie applications running on heterogeneous platforms together helping them communicate correctly, effectively and at reduced cost. The difficulty of integration is a function of the level of interoperability between the applications being integrated. Even though there are established standards for Web services messaging (SOAP), description (WSDL) and discovery and registry (UDDI), custom implementations of these protocols by individual vendors has led to various interoperability issues. Web Services Interoperability Organization (WS-I) recently released Basic Profile 1.0, addressing the interoperability issues with core Web services standards. In this paper, we look at some of the key Web services interoperability issues pointed out by practitioners and critically examine how Basic Profile 1.0 addresses them. Further we also examine some limitations of the profile. We conclude by evaluating a popular Web services implementation against the profile and present our observations.
Senthil Mani, Akash Saurav Das, Srinivas Padmanabhuni
ICWS1