Shamsa Abid, Z. Qamar, Natasha Khan, Muhammad Shayan, H. Basit
{"title":"Retrieving Design Pattern Usage Examples using Domain Matching","authors":"Shamsa Abid, Z. Qamar, Natasha Khan, Muhammad Shayan, H. Basit","doi":"10.1109/APSEC.2016.016","DOIUrl":"https://doi.org/10.1109/APSEC.2016.016","url":null,"abstract":"Software design patterns provide well-known solutions to recurring problems faced by developers. However, not all developers are proficient with the use of design patterns. To facilitate developers in this regard, we propose a design pattern usage examples retrieval system. The retrieval is based on analyzing the developer's development context to provide design pattern usage examples from projects that have a similar functional domain to that of the developer. In our approach, the Latent Dirichlet Allocation model is used to extract domain keywords from individual projects' source code. The domain keywords are stored in a fact repository and are used to construct the respective projects' profiles. We perform content-based retrieval by using a developer's domain keywords to retrieve only matching projects and their associated design patterns-based code (as design pattern usage examples) from the fact repository. Quantitative and qualitative analysis of the results from internal experiments and a user study indicate that our system provides fairly accurate results.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123438900","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An Empirical Investigation into Code Smell Elimination Sequences for Energy Efficient Software","authors":"Garima Dhaka, Paramvir Singh","doi":"10.1109/APSEC.2016.057","DOIUrl":"https://doi.org/10.1109/APSEC.2016.057","url":null,"abstract":"Recent research has shown that maintainability improving activities, such as removing code smells using recommended refactoring activities, may degrade the energy consumption behavior of software systems. However, current research is still immature and requires considerable effort for transferring findings to practice. This work empirically investigates the impact of eliminating a set of three notorious code smells, individually as well as in all six possible sequences, on energy consumption behavior of software systems. It also analyzes whether any relationship exists between software architecture sustainability (in terms of energy efficiency) and maintainability within the context of individual and sequential code smell elimination. The study outcomes show that the selected code smell removal permutations yield variant levels of energy consumption values for the resulted refactored software versions. Also, a particular permutation is learned to yield most energy-efficient refactored software versions, when compared to all other code smell removal permutations.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"147 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124714815","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An Algorithmic-Based Change Effort Estimation Model for Software Development","authors":"Sufyan Basri, Nazri Kama, H. Sarkan, Saiful Adli Ismail, Faizura Haneem","doi":"10.1109/APSEC.2016.034","DOIUrl":"https://doi.org/10.1109/APSEC.2016.034","url":null,"abstract":"Software development mostly adopts two kinds of methodologies; Traditional and Agile. In both methodologies, software changes are inevitable due to the dynamic nature of the software development project itself. One of the factors that influences the effectiveness of the change acceptance decision is the accuracy of the change effort estimation. There are two current models that have been widely used to estimate change effort which are algorithmic and non-algorithmic models. The algorithmic model is known for its formal and structural way of estimation and best suited for Traditional methodology. While non-algorithmic model is widely adopted for Agile methodology of software projects due to its easiness and requires less work in term of effort predictability. Nevertheless, none of the existing change effort estimation models are proven to suit both, Traditional and Agile methodology. Thus, this paper proposes an algorithmic-based change effort estimation model that uses change impact analysis method which is applicable for both Traditional and Agile methodologies. The proposed model uses a current selected change impact analysis method for software development phase which is the SDP-CIAF (Software Development Phase-Change Impact Analysis Framework). The proposed model is evaluated through an extensive experimental validation using case scenarios of six real Traditional and Agile methodologies software projects. The evaluation results confirmed the applicability for both Traditional and Agile methodologies.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114078270","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Tianqi Zhao, Tao Zan, Haiyan Zhao, Zhenjiang Hu, Zhi Jin
{"title":"Integrating Goal Model into Rule-Based Adaptation","authors":"Tianqi Zhao, Tao Zan, Haiyan Zhao, Zhenjiang Hu, Zhi Jin","doi":"10.1109/APSEC.2016.048","DOIUrl":"https://doi.org/10.1109/APSEC.2016.048","url":null,"abstract":"Goal-oriented adaptation provides a powerful mechanism to develop self-adaptive systems, enabling systems to keep satisfying user goals in a dynamically changing environment. The goal-oriented approach normally reduces the adaptation planning as a global optimization process and leaves the system the task of determining the actions required to achieve the goals. However, the high computation cost of global optimization prevents a self-adaptive system from quickly adjusting itself to the dynamically changing environment at runtime, which is intolerable since efficiency of planning is of utmost importance in most self-adaptive systems. On the other hand, rule-based adaptation has the advantage of efficient planning process since it predefines the adaptation logic by rules instead of leaving the system the task of reasoning. To combine the advantages of both approaches, we propose a novel adaptation framework that can integrate goal model into rule-based adaptation to make user goals to be better satisfied efficiently. We have applied the framework to design a self-adaptive e-commerce website. Our experimental results show that the proposed framework outperforms both the traditional goal-oriented approach and the traditional rule-based approach in terms of adaptation efficiency and effectiveness.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125677656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automated Test Sequence Generation for Function Block Diagram Programs","authors":"Jiyoung Song, Eunkyoung Jee, Doo-Hwan Bae","doi":"10.1109/APSEC.2016.050","DOIUrl":"https://doi.org/10.1109/APSEC.2016.050","url":null,"abstract":"As Function Block Diagram (FBD) programs are used to implement safety-critical systems such as nuclear reactor protection systems, it is crucial to be able to generate effective test cases. The FBD is one of programming languages that are used for programmable logic controllers (PLCs). PLC programs are repeatedly run within a particular scan time for every execution. Among the constituents of FBD programs, function blocks and feedback variables use the inputs and outputs of the previous scan cycle on which to operate. Researchers have recently developed an automated test generation technique that satisfied several structural test coverage criteria for FBD programs using symbolic execution. However, their work could not generate test sequences for consecutive scan cycle but test inputs for one scan cycle. Test sequences are essential for testing FBD programs that have function blocks and feedback variables. This paper extends previous work in the field by generating test sequences for FBD programs with function blocks in a fully automated manner. The key technique involves explicitly unwinding FBD programs and solving test requirements using an SMT solver. We conduct experiments on increasing the coverage of test requirements by unwinding cycles and evaluating the effectiveness of the test set using mutation analysis with several subject programs, including a real-world reactor protection system. The experimental results show that the proposed approach is able to generate effective test sequences for FBD programs.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122609563","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Identifying Practitioners' Arguments and Evidence in Blogs: Insights from a Pilot Study","authors":"A. Williams, A. Rainer","doi":"10.1109/APSEC.2016.056","DOIUrl":"https://doi.org/10.1109/APSEC.2016.056","url":null,"abstract":"Background: researchers have a limited understanding of how practitioners conceive of and use evidence. Objective: to investigate how to automatically identify practitioner arguments and evidence in a corpus of practitioner documents, and identify insights for further work. Method: we develop, apply and evaluate a preliminary process to identify practitioner arguments and factual stories, based on the presence of specific words, using a sample of 1,022 blog posts from a software practitioner's blog. Results: we identify unanswered questions relating to the process: selecting and scraping data, cleansing data, parsing components of arguments and stories, selecting the 'right' cases, and validating and interpreting the results. Conclusion: our work provides a foundation for more substantive research on identifying practitioners' evidence and arguments that, in turn, can support research in other areas e.g. evidence informed software practice.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116633074","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Combatting Use Case Points’ Limitations with COCOMO(R) II and Relative Difficulty","authors":"Anandi Hira, B. Boehm","doi":"10.1109/APSEC.2016.058","DOIUrl":"https://doi.org/10.1109/APSEC.2016.058","url":null,"abstract":"Software cost estimates become more accurate as more information becomes available, but are needed early for business case analyses, bids, and resource management. Use Case Points satisfy the ability to make software size estimates early in the lifecycle because they only require understanding how an actor will use the system. Though Use Case Points are easy to calculate, they might over-simplify a project's size and lead to inaccurate estimates. The Use Case Points method has also been heavily criticized for its technical and environmental factors, since they were not calibrated and verified with data. COCOMO(R) II possesses a rich knowledge base of factors that were calibrated and verified with data and expert judgment. Calculating and calibrating an effort model on Unified Code Count (UCC)'s project set using COCOMO(R) II's parameters and Use Case Points needed an additional relative difficulty factor for greatly improved effort estimates.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130467904","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Does the “Project Manager” Still Exist in Agile Software Development Projects?","authors":"Yogeshwar Shastri, Rashina Hoda, R. Amor","doi":"10.1109/APSEC.2016.019","DOIUrl":"https://doi.org/10.1109/APSEC.2016.019","url":null,"abstract":"The project manager has been a ubiquitous feature of traditional software development projects. However, agile software development (ASD) methods which emphasize selforganizing teams and rapid response to change have done away with the project manager's title. New job titles such as the scrum master and product owner have been introduced instead. It is unclear as to what extent the \"project manager\" is still encountered in the agile software industry. An online survey was posted out to agile special interest groups on popular social media platforms to discover the frequency of the job title \"project manager\" in agile projects. Analysis of the 97 responses from 31 countries around the world revealed that: a) the title of project manager is still widely used (67%); b) there is a correlation between the team size and presence of project manager such that there is a higher probability the project manager will be present in teams of 5-10 members and those over 25 members; and c) there is an inverse correlation between the co-location of a team and presence of project manager. Further research is needed to better understand why the project manager continues to be present on ASD projects and how their role may have changed.","PeriodicalId":339123,"journal":{"name":"2016 23rd Asia-Pacific Software Engineering Conference (APSEC)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129180584","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}