Skip to main content

Programming Technologies and Software Engineering

 

This broad research area covers programming models and languages, software processes, software maintenance, software testing and verification for a spectrum of applications ranging from business applications to scientific computing, and sequential to distributed and high performance computing.

Software Maintenance:
Maintenance of software constitutes a significant fraction of IT spending in typical enterprises. The goal is provide methodologies, tools, metrics for software quality and productivity that would provide a systematic basis for software maintenance.

Highlights of some of the projects in this direction are given below.

  1. Model extraction from legacy applications
  2. Tool-assisted software porting

Programming Languages and Systems: Business and scientific computing businesses are increasingly becoming collaboration-oriented and event-driven, both internally and externally. They have started deriving business benefits in terms of operational agility and efficiency, superior supply chain management enabled by streamlined interaction with partners, and suppliers, faster time to market, and addressing new market opportunities and competitive threats.

There is also significant interest and momentum around standardization efforts across industries. On the technological side, the device scaling predicted by Moore's law is no longer a viable option for increasing the clock frequency of future processors at the rate that had been sustained for last two decades. Hence, future systems are rapidly moving from uniprocessor to multi-processor configurations, so as to exploit parallelism for increased performance.

Current object oriented languages that offer concurrent programming, have revealed several drawbacks of parallel programming at the level of unstructured threads with lock-based synchronization, making these ill prepared for the challenge. Our focus is on devising new programming tools and systems for open standards-based business processing and scientific processing.

The following are our ongoing and recent projects in this area.

  1. Models for complex event driven systems
  2. Percolator: analyzing Java APIs for correct usage
  3. X10: A programming language for high-performance computing
  4. Symphony: Tool for decentralizing BPEL applications

Model driven architecture for end-to-end business applications
We are primarily conducting research in the use of formal models to explicitly define the structure and behavior of a business system, to monitor, analyze, and improve performance and leveraging models "as a recipe for construction" of business's IT systems. In this endeavor of closing the business to IT gap, we are researching several practical challenges associated with Model Driven Architecture (MDA). Some of the key ones are model based composite application building and execution, meta-models for incorporation of business rules and policies, meta-models for human-interactions, and change management issues.

Distributed Software Development
Business reasons are increasingly causing software projects to be distributed across the globe. However, a multi-site project brings with it several challenges like inadequate communication between teams, lack of information about remote sites, differences in processes etc., which disrupt the intrinsically collaborative nature of software development. The problem is compounded by the fact that most software tools and techniques in use today largely ignore the needs of distributed teams. We have been looking at global software development practices to understand problem areas and propose solutions that could be of help.

We have focused particularly on how to effectively manage requirements across sites. The elicitation of business requirements, refinement of high-level requirements to more concrete forms, propagation and management of changes in requirements - all of these require rich communication and effective co-ordination between the customers, analysts, system engineers and developers. Remoteness and time zone differences strain these scenarios, leading to excessive re-work, delays and cost escalations.

The following are our ongoing and recent projects in this area.

  1. EGRET: Eclipse-Based Global Requirements Management Tool

Software Verification
Formal methods have a great potential as powerful means for the specification, early debugging of requirements, testing, validation and certification of software. They have been successfully applied in a spectrum of industrial applications and are even becoming an integral part safety standards. We are exploring the use of IBM’s industrial strength tools such as RuleBase for verification of software. We have been building methodologies for verifiable SystemC and thus build suite for verifiable system-on-chip designs.

Journal Publications
  • Mangala Gowri Nanda and Neeran M. Karnik
    Synchronization analysis for decentralizing composite web services. International Journal of Cooperative Information Systems, vol. 13, no.1, March 2004, pp 91--119.
  • Kundaji R.N. and Shyamasundar R.K.
    Refinement Calculus: A basis fortranslation validation, debugging and certification, theoretical computer science, 354, pp. 153-168, (2006).
  • Raja N. and Shyamasundar R.K.
    A closer look at constraints as processes, information processing letters, 98, No. 5 pp. 206-210, (2006).
  • Raja N. and Shyamasundar R.K.
    Actors as a coordinating model of computation, informatica, 30, No. 4, (2006).
  • Mangala Gowri Nanda and S. Ramesh
    "Interprocedural slicing of multithreaded programs with applications to Java", accepted for publication in the ACM Transactions on Programming Languages and Systems (TOPLAS), 2006
  • S. Chandra, J. de Vries, J. Field, H. Hess, M. Kalidasan, R. Komondoor, F. Nieuwerth, G. Ramalingam, J. Xue
    Extracting logical data models for understanding and transforming legacy business applications, Technical Forum article, IBM Systems Journal, 45(3), 2006.
  • P. Varma
    Process and planning support for iterative porting, Journal of Information Science and Engineering, Vol 22, pp. 337-356, March 2006
  • Vibha Sinha, Bikram Sengupta, Satish Chandra
    Enabling collaboration in distributed requirements management, To appear IEEE Software 2006
  • Jha S. and Shyamasundar R.K.
    Adapting biochemical structures for distributed model checking, To appear in Transactions on Computational system Biology, 2006.
  • Jagadish Suryadevara and RK Shyamasundar
    UML-based approach to specify sceured, fine-grained concurrent access to shared resources, Journal of Object Technology, to appear 2007.

Conference Publications
  • Mangala Gowri Nanda and Neeran M. Karnik
    synchronization analysis for decentralizing composite web services. In proceedings of the ACM Symposium on Applied Computing(SAC 2003), Melbourne, FL, October 2003
  • Bikram Sengupta, Vibha S. Sinha, Satish Chandra, Sharath Sampath, Guru K. Prasad
    Test driven global software development, ICSE Workshop on Global Software Development, 2004.
  • Mangala Gowri Nanda and Neeran M. Karnik
    Synchronization analysis for decentralizing composite web services. International Journal of Cooperative Information Systems, vol. 13, no.1, March 2004, pp 91--119
  • Mangala Gowri Nanda, Satish Chandra and Vivek Sarkar
    Decentralized execution of composite web services. In Proceedings of the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Vancouver, Canada, October 2004.
  • Girish Chafle, Sunil Chandra, Vijay Mann, Mangala Gowri Nanda
    Orchestrating composite web services under data flow constraints. In Proceedings of the 3rd IEEE International Conference on Web Services (ICWS 2005), Orlando, USA, July 2005
  • Girish Chafle, Sunil Chandra, Pankaj Kankar, Vijay Mann
    Handling faults in decentralized orchestration of composite web services. In Proceedings of the 3rd International Conference on Service Oriented Computing (ICSOC 2005), Amsterdam, Netherlands, December 2005
  • Girish Chafle, Sunil Chandra, Vijay Mann and Mangala Gowri Nanda
    Orchestrating composite web services under data flow constraints, Proceedings of the IEEE International Conference on Web Services, ICWS 2005
  • Mangala Gowri Nanda, Christian Grothoff and Satish Chandra
    Deriving object typestates in the presence of inter-object references, Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages & Applications, OOPSLA 2005
  • P. Varma
    Stub libraries for software migration and development, IEEE STEP 2005 September 24-25, Budapest, Hungary
  • Rajkishore Barik and Vivek Sarkar
    May-happen-in-parallel information for concurrent program analysis, LCPC 2005, October 2005.
  • Bhattacharjee A. and Shyamasundar R.K.
    Validated code generation for activity diagrams, LNCS 3816, Springer Verlag, pp.508-521, ( Dec 2005)
  • Rajkishore Barik and Vivek Sarkar
    Bitwidth-aware register allocation, compiler constructions 2006, April 2006
  • Bikram Sengupta, Satish Chandra, Vibha Sinha
    A research agenda for distributed software development. International Conference on Programming Technologies & Software Engineering. (ICSE) 2006, Programming Technologies & Software Engineering and Challenges track
  • Ganesan Ramalingam, Raghavan Komondoor, John Field, Saurabh Sinha
    Semantics-based reverse engineering of object-oriented data model, 28th International Conference on Programming Technologies & Software Engineering (ICSE 2006), pages 192-201
  • G Ramalingam, K Raghavan and Saurabh Sinha
    Identifying reusable services from legacy applications, IBM SOA Symposiaum, Kolkata, May 2006

Book Chapters
  • V.T. Patil and R.K. Shyamasundar
    ROADS: Role-based Authorization and Delegation System - authentication, authorization and applications, discrete mathematics and its applications, Edited by M. Sethumadhavan, Narosa Publ. Co. pp. 36-52, 2006
  • K. Kalyanasundaram, RK Shyamasundar
    Verification of clock synchronization in TTP, to appear 2006, World Scientific Publishers

Invited Addresses
  • RK Shyamasundar
    Formal semantics of SystemC, Invited Talk, 15th International Workshop on Synchronous Languages, Malta, November 2005
  • RK Shyamausndar
    Computing Science: scientific and engineering fascinations and challenges, Special Lecture, 71 Annual Meeting of the Indian Academy of Sciences, Trichy, November 2005
  • RK Shyamasundar
    High Level Design Languages: reactive frameworks to SystemC, Keynote Lecture, International Conference on Distributed and High Performance Computing and Internet Computing, Bhubaneshwar, December 2005
  • RK Shyamasundar
    Service sciences, management and engineering, invited address, CDAC sponsored Workshop in Research Directions in Computer Science, 17 Apr 2006, Bangalore

Programme Committees
  • RK Shyamasundar, Senior PC Member, IJCAI 2007
  • RK Shyamasundar, PC Member, ACM/IEEE MEMOCODE, Napa Valley, July 2006
  • RK Shyamasundar, Gen Chair, ICDCIT 2006, Bhubaneswar
  • Mangala Gowri Nanda, PC Member, APSEC 2006
Help
Contact
Page help