Workshop WASPI 2018 – Author Index |
Contents -
Abstracts -
Authors
|
Bhowmik, Tanmay |
WASPI '18: "Automated Generation of Creative ..."
Automated Generation of Creative Software Requirements: A Data-Driven Approach
Quoc Anh Do and Tanmay Bhowmik (Mississippi State University, USA) Creativity can often be seen in artistic productions when artists use their imagination to create original and novel work. However, the importance of creativity is being broadly recognized in various areas. Recently, the requirements engineering (RE) research community has been paying more attention to the matter of capturing and generating creative requirements as it plays a pivotal role in a software system sustainability. To further advance the literature, in this paper, we propose a automated system to alleviate creative feature generation by using a Hidden Markov Model with requirements data scraped from Google Play. To evaluate the performance of the system, We experiment our system in two settings, generating features from a specific application domain (i.e., Messaging platform) and from a mixed domains of successful applications including Google Chrome and Dropbox. The results offer encouraging insights on how our system can support capturing creative requirements and aid the development of more advanced software feature generators. @InProceedings{WASPI18p9, author = {Quoc Anh Do and Tanmay Bhowmik}, title = {Automated Generation of Creative Software Requirements: A Data-Driven Approach}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {9--12}, doi = {10.1145/3278177.3278180}, year = {2018}, } Publisher's Version |
|
Byun, Taejoon |
WASPI '18: "Contract Discovery from Black-Box ..."
Contract Discovery from Black-Box Components
Vaibhav Sharma, Taejoon Byun, Stephen McCamant, Sanjai Rayadurgam, and Mats P. E. Heimdahl (University of Minnesota, USA) Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior -- its contract -- is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose. @InProceedings{WASPI18p5, author = {Vaibhav Sharma and Taejoon Byun and Stephen McCamant and Sanjai Rayadurgam and Mats P. E. Heimdahl}, title = {Contract Discovery from Black-Box Components}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {5--8}, doi = {10.1145/3278177.3278179}, year = {2018}, } Publisher's Version |
|
Do, Quoc Anh |
WASPI '18: "Automated Generation of Creative ..."
Automated Generation of Creative Software Requirements: A Data-Driven Approach
Quoc Anh Do and Tanmay Bhowmik (Mississippi State University, USA) Creativity can often be seen in artistic productions when artists use their imagination to create original and novel work. However, the importance of creativity is being broadly recognized in various areas. Recently, the requirements engineering (RE) research community has been paying more attention to the matter of capturing and generating creative requirements as it plays a pivotal role in a software system sustainability. To further advance the literature, in this paper, we propose a automated system to alleviate creative feature generation by using a Hidden Markov Model with requirements data scraped from Google Play. To evaluate the performance of the system, We experiment our system in two settings, generating features from a specific application domain (i.e., Messaging platform) and from a mixed domains of successful applications including Google Chrome and Dropbox. The results offer encouraging insights on how our system can support capturing creative requirements and aid the development of more advanced software feature generators. @InProceedings{WASPI18p9, author = {Quoc Anh Do and Tanmay Bhowmik}, title = {Automated Generation of Creative Software Requirements: A Data-Driven Approach}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {9--12}, doi = {10.1145/3278177.3278180}, year = {2018}, } Publisher's Version |
|
Dyer, Robert |
WASPI '18: "Towards Combining Usage Mining ..."
Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions
Hoan Anh Nguyen, Tien N. Nguyen, Hridesh Rajan, and Robert Dyer (Iowa State University, USA; University of Texas at Dallas, USA; Bowling Green State University, USA) The preconditions of an API method are constraints on the states of its receiver object and arguments intended by the library designer(s) to correctly invoke it in the client code. There have been two main kinds of approaches for automatically inferring API preconditions. The first kind of approaches mines the frequently checked conditions guarding the API usages in the client code and generalize them into preconditions. The second kind of approaches analyzes the implementation of the API to compute preconditions. In this paper, we report an observation that the usage-based approach often produces preconditions stronger than those intended while the implementation-based produces weaker ones. Our finding calls for a new direction of integrating those kinds of precondition inference approaches and refinement solutions to reduce the differences between sets of inferred preconditions. @InProceedings{WASPI18p15, author = {Hoan Anh Nguyen and Tien N. Nguyen and Hridesh Rajan and Robert Dyer}, title = {Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {15--16}, doi = {10.1145/3278177.3278182}, year = {2018}, } Publisher's Version |
|
Heimdahl, Mats P. E. |
WASPI '18: "Contract Discovery from Black-Box ..."
Contract Discovery from Black-Box Components
Vaibhav Sharma, Taejoon Byun, Stephen McCamant, Sanjai Rayadurgam, and Mats P. E. Heimdahl (University of Minnesota, USA) Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior -- its contract -- is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose. @InProceedings{WASPI18p5, author = {Vaibhav Sharma and Taejoon Byun and Stephen McCamant and Sanjai Rayadurgam and Mats P. E. Heimdahl}, title = {Contract Discovery from Black-Box Components}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {5--8}, doi = {10.1145/3278177.3278179}, year = {2018}, } Publisher's Version |
|
Khairunnesa, Samantha Syeda |
WASPI '18: "On the Significance of Contract-Based ..."
On the Significance of Contract-Based Typestate Specification
Samantha Syeda Khairunnesa, Hoan Anh Nguyen, and Hridesh Rajan (Iowa State University, USA) The programmers utilize APIs provided by frameworks and libraries to avoid reinventing the wheel and API specifications aid them to fully understand and adequately use these APIs. This paper introduces "contract-based typestate specifications", a new kind ofspecification for documenting programs. Prior work has focused on two kinds of specifications, namely behavioral and temporal specifications. These specifications either target the constraints of API method invocations or, the usage order of API methods to ensure normal behavior. Consequentially, these two types of specifications are treated independently. Another challenge for these state-of-art specifications lies in the form of limited expressiveness to the designers’ intention, as these are unable to demonstrate all the valid choices under same or different constraints. Contract-based typestate specifications capture the essence of behavioral and temporal specifications, yet provide better understanding and ensure valid API usage as required by context, thus providing flexibility of usage. @InProceedings{WASPI18p13, author = {Samantha Syeda Khairunnesa and Hoan Anh Nguyen and Hridesh Rajan}, title = {On the Significance of Contract-Based Typestate Specification}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {13--14}, doi = {10.1145/3278177.3278181}, year = {2018}, } Publisher's Version |
|
McCamant, Stephen |
WASPI '18: "Contract Discovery from Black-Box ..."
Contract Discovery from Black-Box Components
Vaibhav Sharma, Taejoon Byun, Stephen McCamant, Sanjai Rayadurgam, and Mats P. E. Heimdahl (University of Minnesota, USA) Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior -- its contract -- is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose. @InProceedings{WASPI18p5, author = {Vaibhav Sharma and Taejoon Byun and Stephen McCamant and Sanjai Rayadurgam and Mats P. E. Heimdahl}, title = {Contract Discovery from Black-Box Components}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {5--8}, doi = {10.1145/3278177.3278179}, year = {2018}, } Publisher's Version |
|
Nguyen, Hoan Anh |
WASPI '18: "Towards Combining Usage Mining ..."
Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions
Hoan Anh Nguyen, Tien N. Nguyen, Hridesh Rajan, and Robert Dyer (Iowa State University, USA; University of Texas at Dallas, USA; Bowling Green State University, USA) The preconditions of an API method are constraints on the states of its receiver object and arguments intended by the library designer(s) to correctly invoke it in the client code. There have been two main kinds of approaches for automatically inferring API preconditions. The first kind of approaches mines the frequently checked conditions guarding the API usages in the client code and generalize them into preconditions. The second kind of approaches analyzes the implementation of the API to compute preconditions. In this paper, we report an observation that the usage-based approach often produces preconditions stronger than those intended while the implementation-based produces weaker ones. Our finding calls for a new direction of integrating those kinds of precondition inference approaches and refinement solutions to reduce the differences between sets of inferred preconditions. @InProceedings{WASPI18p15, author = {Hoan Anh Nguyen and Tien N. Nguyen and Hridesh Rajan and Robert Dyer}, title = {Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {15--16}, doi = {10.1145/3278177.3278182}, year = {2018}, } Publisher's Version WASPI '18: "On the Significance of Contract-Based ..." On the Significance of Contract-Based Typestate Specification Samantha Syeda Khairunnesa, Hoan Anh Nguyen, and Hridesh Rajan (Iowa State University, USA) The programmers utilize APIs provided by frameworks and libraries to avoid reinventing the wheel and API specifications aid them to fully understand and adequately use these APIs. This paper introduces "contract-based typestate specifications", a new kind ofspecification for documenting programs. Prior work has focused on two kinds of specifications, namely behavioral and temporal specifications. These specifications either target the constraints of API method invocations or, the usage order of API methods to ensure normal behavior. Consequentially, these two types of specifications are treated independently. Another challenge for these state-of-art specifications lies in the form of limited expressiveness to the designers’ intention, as these are unable to demonstrate all the valid choices under same or different constraints. Contract-based typestate specifications capture the essence of behavioral and temporal specifications, yet provide better understanding and ensure valid API usage as required by context, thus providing flexibility of usage. @InProceedings{WASPI18p13, author = {Samantha Syeda Khairunnesa and Hoan Anh Nguyen and Hridesh Rajan}, title = {On the Significance of Contract-Based Typestate Specification}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {13--14}, doi = {10.1145/3278177.3278181}, year = {2018}, } Publisher's Version |
|
Nguyen, Tien N. |
WASPI '18: "Towards Combining Usage Mining ..."
Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions
Hoan Anh Nguyen, Tien N. Nguyen, Hridesh Rajan, and Robert Dyer (Iowa State University, USA; University of Texas at Dallas, USA; Bowling Green State University, USA) The preconditions of an API method are constraints on the states of its receiver object and arguments intended by the library designer(s) to correctly invoke it in the client code. There have been two main kinds of approaches for automatically inferring API preconditions. The first kind of approaches mines the frequently checked conditions guarding the API usages in the client code and generalize them into preconditions. The second kind of approaches analyzes the implementation of the API to compute preconditions. In this paper, we report an observation that the usage-based approach often produces preconditions stronger than those intended while the implementation-based produces weaker ones. Our finding calls for a new direction of integrating those kinds of precondition inference approaches and refinement solutions to reduce the differences between sets of inferred preconditions. @InProceedings{WASPI18p15, author = {Hoan Anh Nguyen and Tien N. Nguyen and Hridesh Rajan and Robert Dyer}, title = {Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {15--16}, doi = {10.1145/3278177.3278182}, year = {2018}, } Publisher's Version |
|
Rajan, Hridesh |
WASPI '18: "Towards Combining Usage Mining ..."
Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions
Hoan Anh Nguyen, Tien N. Nguyen, Hridesh Rajan, and Robert Dyer (Iowa State University, USA; University of Texas at Dallas, USA; Bowling Green State University, USA) The preconditions of an API method are constraints on the states of its receiver object and arguments intended by the library designer(s) to correctly invoke it in the client code. There have been two main kinds of approaches for automatically inferring API preconditions. The first kind of approaches mines the frequently checked conditions guarding the API usages in the client code and generalize them into preconditions. The second kind of approaches analyzes the implementation of the API to compute preconditions. In this paper, we report an observation that the usage-based approach often produces preconditions stronger than those intended while the implementation-based produces weaker ones. Our finding calls for a new direction of integrating those kinds of precondition inference approaches and refinement solutions to reduce the differences between sets of inferred preconditions. @InProceedings{WASPI18p15, author = {Hoan Anh Nguyen and Tien N. Nguyen and Hridesh Rajan and Robert Dyer}, title = {Towards Combining Usage Mining and Implementation Analysis to Infer API Preconditions}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {15--16}, doi = {10.1145/3278177.3278182}, year = {2018}, } Publisher's Version WASPI '18: "On the Significance of Contract-Based ..." On the Significance of Contract-Based Typestate Specification Samantha Syeda Khairunnesa, Hoan Anh Nguyen, and Hridesh Rajan (Iowa State University, USA) The programmers utilize APIs provided by frameworks and libraries to avoid reinventing the wheel and API specifications aid them to fully understand and adequately use these APIs. This paper introduces "contract-based typestate specifications", a new kind ofspecification for documenting programs. Prior work has focused on two kinds of specifications, namely behavioral and temporal specifications. These specifications either target the constraints of API method invocations or, the usage order of API methods to ensure normal behavior. Consequentially, these two types of specifications are treated independently. Another challenge for these state-of-art specifications lies in the form of limited expressiveness to the designers’ intention, as these are unable to demonstrate all the valid choices under same or different constraints. Contract-based typestate specifications capture the essence of behavioral and temporal specifications, yet provide better understanding and ensure valid API usage as required by context, thus providing flexibility of usage. @InProceedings{WASPI18p13, author = {Samantha Syeda Khairunnesa and Hoan Anh Nguyen and Hridesh Rajan}, title = {On the Significance of Contract-Based Typestate Specification}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {13--14}, doi = {10.1145/3278177.3278181}, year = {2018}, } Publisher's Version |
|
Rayadurgam, Sanjai |
WASPI '18: "Contract Discovery from Black-Box ..."
Contract Discovery from Black-Box Components
Vaibhav Sharma, Taejoon Byun, Stephen McCamant, Sanjai Rayadurgam, and Mats P. E. Heimdahl (University of Minnesota, USA) Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior -- its contract -- is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose. @InProceedings{WASPI18p5, author = {Vaibhav Sharma and Taejoon Byun and Stephen McCamant and Sanjai Rayadurgam and Mats P. E. Heimdahl}, title = {Contract Discovery from Black-Box Components}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {5--8}, doi = {10.1145/3278177.3278179}, year = {2018}, } Publisher's Version |
|
Sharma, Vaibhav |
WASPI '18: "Contract Discovery from Black-Box ..."
Contract Discovery from Black-Box Components
Vaibhav Sharma, Taejoon Byun, Stephen McCamant, Sanjai Rayadurgam, and Mats P. E. Heimdahl (University of Minnesota, USA) Complex computer-controlled systems are commonly constructed in a middle-out fashion where existing subsystems and available components have a significant influence on system architecture and drive design decisions. During system design, the architect must verify that the components, put together as specified in the architecture, will achieve the desired system behavior. This typically leads to further design modifications or adjustments to requirements triggering another iteration of the design-verify cycle. For software components that are acquired from third-parties, often the only definitive source of information about the component's system-relevant behavior -- its contract -- is its object code. We posit that existing static and dynamic analysis techniques can be used to discover contracts that can help the system designer and specifically discuss how symbolic execution of object code may be particularly well-suited for this purpose. @InProceedings{WASPI18p5, author = {Vaibhav Sharma and Taejoon Byun and Stephen McCamant and Sanjai Rayadurgam and Mats P. E. Heimdahl}, title = {Contract Discovery from Black-Box Components}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {5--8}, doi = {10.1145/3278177.3278179}, year = {2018}, } Publisher's Version |
|
Takada, Hiroaki |
WASPI '18: "Towards Static Recovery of ..."
Towards Static Recovery of Micro State Transitions from Legacy Embedded Code
Ryota Yamamoto, Norihiro Yoshida, and Hiroaki Takada (Nagoya University, Japan) During the development of an embedded system, state transition models are frequently used for modeling at several abstraction levels. Unfortunately, specification documents including such model are often lost or not up to date during maintenance/reuse. Based on our experience in industrial collaboration, we present Micro State Transition Table (MSTT) to help developers understanding embedded code based on a fine-grained state transition model. We also discuss the challenges of static recovery of an MSTT. @InProceedings{WASPI18p1, author = {Ryota Yamamoto and Norihiro Yoshida and Hiroaki Takada}, title = {Towards Static Recovery of Micro State Transitions from Legacy Embedded Code}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {1--4}, doi = {10.1145/3278177.3278178}, year = {2018}, } Publisher's Version |
|
Yamamoto, Ryota |
WASPI '18: "Towards Static Recovery of ..."
Towards Static Recovery of Micro State Transitions from Legacy Embedded Code
Ryota Yamamoto, Norihiro Yoshida, and Hiroaki Takada (Nagoya University, Japan) During the development of an embedded system, state transition models are frequently used for modeling at several abstraction levels. Unfortunately, specification documents including such model are often lost or not up to date during maintenance/reuse. Based on our experience in industrial collaboration, we present Micro State Transition Table (MSTT) to help developers understanding embedded code based on a fine-grained state transition model. We also discuss the challenges of static recovery of an MSTT. @InProceedings{WASPI18p1, author = {Ryota Yamamoto and Norihiro Yoshida and Hiroaki Takada}, title = {Towards Static Recovery of Micro State Transitions from Legacy Embedded Code}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {1--4}, doi = {10.1145/3278177.3278178}, year = {2018}, } Publisher's Version |
|
Yoshida, Norihiro |
WASPI '18: "Towards Static Recovery of ..."
Towards Static Recovery of Micro State Transitions from Legacy Embedded Code
Ryota Yamamoto, Norihiro Yoshida, and Hiroaki Takada (Nagoya University, Japan) During the development of an embedded system, state transition models are frequently used for modeling at several abstraction levels. Unfortunately, specification documents including such model are often lost or not up to date during maintenance/reuse. Based on our experience in industrial collaboration, we present Micro State Transition Table (MSTT) to help developers understanding embedded code based on a fine-grained state transition model. We also discuss the challenges of static recovery of an MSTT. @InProceedings{WASPI18p1, author = {Ryota Yamamoto and Norihiro Yoshida and Hiroaki Takada}, title = {Towards Static Recovery of Micro State Transitions from Legacy Embedded Code}, booktitle = {Proc.\ WASPI}, publisher = {ACM}, pages = {1--4}, doi = {10.1145/3278177.3278178}, year = {2018}, } Publisher's Version |
15 authors
proc time: 1.9