ISEC 2015
8th India Software Engineering Conference
Bangalore, India
February 18-20, 2015 (Schedule)
Registration is open here.

1. How the Repository Driven Test Automation (RDTA) will make test automation more efficient, easier & maintainable? [Half Day]

Authors: Dani Almog, is a senior researcher and lecturer on Software Quality and test automation at Ben Gurion University (BGU) and Shamun Collage of Engineering (SCE).
Yaron Tsubery is the current VP Testing Division Manager at Ness Technologies, and had been a Director of QA & Testing Manager at Comverse since 2000 until 2013.

Many testing organizations find themselves lagging behind the development forces on the agile journey; it is obvious for us to demand an easy integration between all software program elements developed. Do we treat our testing artifacts in the same manner? It is time to make the change. Take this opportunity and prepare a right testing infrastructure that will enable you to reuse and integrate all testing artifacts as basic components for the same puzzle. Make test automation to integrate and operate in similar manner. Mobile emerging world present this issue even harder - the versatile and speedy continues integration required to multiply our demand for reuse and efficiency. Proposing reuse of testing artifacts as a fundamental principle for the creation test automation is what makes RDTA a unique approach to the buildup process of test automation infrastructure. Having your attention aimed to the question; what will be done with your efforts later on and how someone else can benefit from your previous efforts? Drove us to the new concept for forming test automation. The term software repository here refers to a storage location from which software packages or artifacts may be retrieved to be reuse on another system or other software products.
This tutorial explores different aspect of software test automation artifacts reuse and elaborate several practical implication and changes implied from the new paradigm to be implemented in a software development organization. Report about an empirical case study of implementation of RDTA in a large organization will conclude this tutorial, presenting the benefits and some of the obstacles facing this approach.
RDTA approach is yet to be matures and elaborated, this tutorial will present several new subject needed to be formally theoretically modeled and addressed.

Target Audience: Test automation tools experts & manufacturer, Software Testers, Testing Managers, QA Manager/Director, Academic research, IT Manager/Director making testing application decisions, Project Manager, Application Development Director.

Selected Publications

  1. D. Almog and T. Heart,” What Is a Test Case? Revisiting the Software Test Case Concept”, in Software Process Improvement, R.V. O’Connor, et al., Editors. 2009, Springer Berlin Heidelberg. p. 13-31.
  2. D. Almog and T. Heart, “A Structured Approach to Test Case Definition with an Exemplar Illustration”,
  3. Almog, D.; Heart, T., "Developing the Basic Verification Action (BVA) Structure towards Test Oracle Automation," Conference on Computational Intelligence and Software Engineering (CiSE), 2010
  4. Almog. D, Tusbery .Y., Reuse of Unit Test Artifacts – Allow Us to Dream. AgileRecord . November 2013: issue 16 p. 49 - 52.


Authors: Ashish Sureka , IIIT Delhi, Atul Kumar, Siemens Corporate Research and Technology, Shrinath Gupta , Siemens Corporate Research and Technology

Software Process Intelligence (SPI) is an emerging and evolving discipline involving mining and analysis of software processes. This is modeled on the lines of Business Process Intelligence (BPI), but with the focus on software processes and its applicability in software systems. Process mining consists of mining event log and process trace data for the purpose of process discovery (run-time process model), process verification or compliance checking (comparison between design-time and run-time process model), process enhancement and recommendation.
Software Process Mining is a three word phrase which can be viewed from two perspectives: Software + Process Mining and Software Process + Mining. Software development and evolution involves usage of several workflow management and information systems and tools such as Issue Tracking Systems (ITS), Version Control Systems (VCS), Peer Code Review Systems (PCR) and Continuous Integration Tools (CIT). Such information systems log data consisting of events, activities, time-stamp, user or actor and context specific data. For example, a popular open-source ITS such as Bugzilla logs the submission time of a bug report, user id and name of the bug reporter, title and description of the bug report in addition to several other information. Any change made to the bug report during its life-cycle is logged. Mining this information could provide more insight into the processes involved and also help in predictive analysis. Such events or trace data generated by information systems used during software construction (as part of the software development process) contains valuable information which can be mined for gaining useful insights and actionable information.
The pre-requisites for the tutorial is basic background in data mining and software engineering. The tutorial will be divided into 3 parts and cover topics such as: fundamentals of process mining, familiarity with open-source process mining framework ProM, basics of Business Process Modeling Notation (BPMN), overview of mining software repositories and software analytics, understanding of common software repositories and archives, important applications of mining software repositories, basics of process mining software repositories, techniques and applications.

Target Audience: Industry practitioners and researchers, Academics in the area of Software Analytics, Software Intelligence, Mining Software Repositories and Process Mining

Selected Publications

  1. MSR 2014: Proceedings of the 11th working conference on mining software repositories. 2014.
  2. M. Gupta and A. Sureka. Nirikshan: Mining bug report history for discovering process maps, inefficiencies and inconsistencies. In Proceedings of the 7th ISEC, 2014.
  3. M. Gupta, A. Sureka, and S. Padmanabhuni. Process mining multiple repositories for software defect resolution from control and organizational perspective. In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014, 2014.

3. Applying Design Principles in Practice [Half Day]

Authors: Girish Suryanarayana, Senior Research Scientist at Research and Technology Center, Siemens Technology and Services Pvt. Ltd.
Ganesh Samarthyam, Independent consultant and corporate trainer, Bangalore, India
Tushar Sharma, Technical Expert, Research and Technology Center, Siemens Technology and Services Pvt. Ltd., Bangalore, India

Capers Jones, a well-known name in the field of software engineering methodologies, conducted a study in 2012 across five large corporations and found that the number of software defects that can be traced back to errors in software design was as high as 64%! This significant percentage of defects occurring due to errors in software design underlines the importance of high-quality software design for developing high-quality software. However, as Fred Brooks observes in his book “The Mythical Man Month” [1], software design is an inherently complex activity; the intangible nature of software makes it difficult for humans to envision, develop, and reason about its design.
It is widely recognized that the key approach for taming the complexity of software development is to apply relevant design principles. According to SWEBOK v3 [2], software design principles are key notions that provide the basis for many different software design approaches and concepts. In our experience as consultant architects and trainers on software architecture and design in a corporate setting, we find that software engineers “know” design principles but sorely lack the experience and expertise to apply them in practice.
We propose “enabling techniques” to bridge the gap between the fundamental design principles and their application to real-world situations. These enabling techniques translate the fundamental principles to corresponding actionable ideas. For instance, enabling techniques for the design principle “encapsulation” are “hiding implementation details” and “hiding variations”. A developer can comprehend the principle with more rigor by practicing specific actionable enabling techniques.

Target Audience: software developers, software designers, architects, technical leads, and project/program managers, researchers.

Selected Publications

  1. Ganesh Samarthyam, Girish Suryanarayana, Tushar Sharma, Shrinath Gupta, MIDAS: a Design Quality Assessment Method for Industrial Software, International Conference on Software Engineering, Software Engineering in Practice Track, 2013: 911-920.
  2. Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana, Towards a Principlebased Classification of Structural Design Smells, Journal of Object Technology 12(2): 1: 129 (2013).
  3. Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana, Software Design Quality in Practice: Refactoring for Software Design Smells, Tutorial in 36th International Conference on Software Engineering, Hyderabad, 2014.
  4. Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma, Refactoring for Software Design Smells: Managing Technical Debt, Morgan Kaufman/Elsevier, (to be published in November 2014).

4. Recommendation and Regression Test Suite Optimization Using Heuristic Algorithms

Authors: Satya Sai Prakash K., Prasad S U M Dhanyamraju, and Gopi Krishna D.
Engineering & Research Services, HCL Technologies, Hyderabad, India

In the Software Development Life Cycle, testing is an integral and important phase. It is estimated that close to 45% of project cost is marked for testing. Defect removal efficiency is directly proportional to the rigor of the testing and number of test cycles. Given this prelude, important optimization dual is to reduce the testing time and cost without compromising on the quality and coverage. We revisit this popular research and industry sought problem, in the historical data perspective. For this, it is important to follow an approach and minimize the available test suites and recommend N Test cases based on multiple heuristics. The heuristics can be derived based on Test Manager, Test Lead and/or Test Director requirements and inputs. The N test cases that are to be recommended will be derived upon executing evolutionary randomized algorithms such as Random Forest / Genetic Algorithm. These algorithms fed with historically derived inputs such as test case execution frequency, test case failure pattern, change feature pattern and bug fixes & associations. The recommended test suite is further optimized based on a 2 dimensional approach. Test case specific vertical constraints such as distribution of environments, distribution of features as well as Test suite composition parameters such as golden test cases, sanity test cases, that serves as horizontal parameters.

Target Audience: software developers, test Managers, QA professionals, technical leads, and project/program managers, researchers.

Selected Publications

  1. Prasad Dhanyamraju, Simy Chcko, Satya Sai Prakash K., Gopi Krishna D., “Automated Regression Test Suite Optimization based on Heuristics”, Accepted at 4th IEEE Coference on Artificial Intelligence and Applications in Engineering and Technology, 3 -5, December 2014, Kota Kinabalu, Malysia.
  2. Prasad Dhanyamraju, Simy Chcko, Satya Sai Prakash K., Gopi Krishna D., “Automatically recommending test suite from historical data based on randomized evolutionary techniques”, Priority Application#3073/CHE/2014, US Application#14507857.

Important Dates
Abstracts Due Sep 25, 2014
Full Papers Submission Sep 25, 2014
Notification of Acceptance November 08, 2014
Camera Ready Copy Due December 20, 2014
Conference Feb 18-20, 2015