Software Engineering Education (Case-based Learning) [11th ISEC'18, SEEM'18 colocated with 40th ICSE 2018][Blog post in SE-EDU][Two works accepted in 13th ISEC 2020]
Application of NLP in Software Engineering and Related domains [Initial work appeared in 25th RE 2017][Two papers in 12th ISEC 2019]
Model-based Systems Engineering (Model-based Testing, Model-Driven Engineering) [Blog post appeared in MegaM@Rt2 project webpage][Two papers in MDE@DeRun'18 colocated with STAF 2018][One paper accepted in ASPEC'18-SEIP Track]
Systematic Literature Reviews/Mapping in Requirements Modeling/SysML Model-based Testing [A Mapping study accepted in CS&I Journal] [Other works in Process...]
Empirical Software Engineering [An empirical study on Completeness of Specification in JSEP]
Tool development on analyzing NL text [Initial work accepted in 35th SAC 2020]
*For more details, visit Publications/Awards webpage.
The software development process can be thought of a series of model transformation that starts with Software Requirement Specification (SRS), a textual representation of requirements at one side and executable conformed code on the other side.
Use case models, that include use case diagrams along with their documentation, are now an established and popular method of specifying the functional requirement of a software system. While the freedom of specifying the requirements in the use cases may incorporate some critical issues in software development. The use case models are usually semi-structured and documented using some natural language hence issues like ambiguity, inconsistency, and incompleteness are inevitably introduced in the use case descriptions. Therefore, it is required to derive the concrete pieces of information from the use case models that is also widely recognized in the literature, few formal approaches are proposed to achieve this derivation.
We explore some issues relating to the use case models (use case diagram as well as descriptions), using the experimental approach for validation. Following are some work that we have undertaken so far:
We have proposed a more formal use case template for validating the use case requirements, generation of the UML models. (Initial work appeared in 27th SAC 2012)
We have proposed a formal approach to analyze and validate the functional requirements using SFTA and to identify the vulnerable failure modes with SFMEAs. (17th ICECCS 2012)
We have proposed an approach of generating actor-oriented activity charts from the use case requirements to overcome the interface related problems. (Initial work appeared in 19th APSEC 2012). Moreover, we have also proposed an approach to selecting the test cases (to generate prioritized test cases) for agile software development.
We have evaluated the effectiveness of the use case formalism by conducting a controlled experiment and comparing a more formalized use case template against the Object Management Group specified UML use case template. (7th ISEC 2014) [Presentation: Use Case Formats: how much formalism is enough?]
We have conducted an empirical work to assess the usefulness of eight highly referred use case templates against a set of five judging criteria, namely, completeness, consistency, understandability, redundancy and fault-proneness. (20th APSEC 2013)
Tool Support: The idea is to automate (i) the generation of a more formal use case template from the traditional use case template (ii) the generation of activity diagrams from the obtained use case descriptions (iii) test case generation and prioritization.
Other Links or information are updated soon...