{"title":"Documenting software using adaptive software artifacts","authors":"F. F. Correia","doi":"10.1145/2508075.2514873","DOIUrl":"https://doi.org/10.1145/2508075.2514873","url":null,"abstract":"Creating and using software documentation presents numerous challenges, namely in what concerns the expression of knowledge structures, consistency maintenance and classification. Adaptive Software Artifacts is a flexible approach to expressing structured contents that tackles these concerns, and that is being realized in the context of a Software Forge.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122078484","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":"Development of automatically verifiable systems using data representation synthesis","authors":"Bryce W. Cronkite-Ratcliff","doi":"10.1145/2508075.2514874","DOIUrl":"https://doi.org/10.1145/2508075.2514874","url":null,"abstract":"We present a technique for developing software that can be automatically formally verified for the absence of memory safety errors. Our technique makes use of Data Representation Synthesis to encapsulate all data structures inside within relational interfaces. We show that operations on relations can be precisely reasoned about using existing techniques for automatic precise reasoning on containers. In this work, we present a port of the Fiasco.OC microkernel to structures generated by Data Representation Synthesis that will be automatically verified by precise container reasoning techniques.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"215 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122595727","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":"Program transformation techniques applied to languages used in high performance computing","authors":"Songqing Yue","doi":"10.1145/2508075.2508081","DOIUrl":"https://doi.org/10.1145/2508075.2508081","url":null,"abstract":"Meta-programming has shown much promise for improving the quality of software. A system that supports meta-programming is able to generate or manipulate other programs to extend their behaviour. Thus far, the power of meta-programming has not been explored deeply in the area of High Performance Computing (HPC). We propose to bring the power of meta-programming to languages that may be used in HPC to help to solve various problems in HPC software related to efficiency, scalability, and adaptation. In our initial efforts we have implemented a meta-programming framework called OpenFortran to build arbitrary source-to-source program transformation libraries for Fortran programs. The design focus of OpenFortran is to enable program transformation in a manner that is transparent to application programmers. Similarly, we have also built a framework for C called OpenC. In this doctoral symposium summary, we present the idea of building a generalized meta-programming framework suitable for extending an arbitrary programming language, which would allow source-to-source program trans-formation. We also describe the possibility of solving problems emerging in HPC software via program trans-formation.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115418656","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":"Two solitudes","authors":"G. V. Wilson","doi":"10.1145/2508075.2508189","DOIUrl":"https://doi.org/10.1145/2508075.2508189","url":null,"abstract":"I have spent much of the last fifteen years trying to build bridges between the two solitudes of computing: academic researchers on the one side, and working developers on the other. These efforts have largely failed, but have done so in interesting ways. This talk will explore why the wide gulf between research and practice persists, and outline a new plan for trying to narrow it based on scurvy, smoking, and statistics.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129976988","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":"Dictionary-based query recommendation for local code search","authors":"Xi Ge","doi":"10.1145/2508075.2508089","DOIUrl":"https://doi.org/10.1145/2508075.2508089","url":null,"abstract":"Local code search tools help developers efficiently find code snippets in the code base under development. The quality of the retrieved code largely depends on the quality of queries provided by developers. Manually synthesizing high-quality queries is a non-trivial task, partially because it places a cognitive burden on developers by requiring them memorize words used in the code base under search. To help developers synthesize better queries, this paper proposes a recommendation technique called MultiD that uses multiple dictionaries. We also report an ongoing study to evaluate the effectiveness of MultiD.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131308746","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":"Investigation of error notifications through categorization","authors":"Michael Bazik","doi":"10.1145/2508075.2514883","DOIUrl":"https://doi.org/10.1145/2508075.2514883","url":null,"abstract":"Program analysis tools often output error notifications that novice and industry programmers both have trouble understanding. The lack of expressive, scalable error notifications makes programming difficult to novice developers and hinders the progress of industry developers. Here, I propose a taxonomy of error notifications containing categories each with a model syntax for error notifications of similar type. By categorizing error notifications into 39 categories, and developing a questionnaire to aid in the categorization process, error notification creators can edit and refine existing error notifications as well as use the categories to create expressive, scalable error notifications that offer developers a better opportunity to resolve errors.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124463010","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":"Structured statistical syntax tree prediction","authors":"Cyrus Omar","doi":"10.1145/2508075.2514876","DOIUrl":"https://doi.org/10.1145/2508075.2514876","url":null,"abstract":"Statistical models of source code can be used to improve code completion systems, assistive interfaces, and code compression engines. We are developing a statistical model where programs are represented as syntax trees, rather than simply a stream of tokens. Our model, initially for the Java language, combines corpus data with information about syn- tax, types and the program context. We tested this model using open source code corpuses and find that our model is significantly more accurate than the current state of the art, providing initial evidence for our claim that combining structural and statistical information is a fruitful strategy.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125074618","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":"VM-level memory monitoring for resolving performance problems","authors":"Philipp Lengauer","doi":"10.1145/2508075.2508076","DOIUrl":"https://doi.org/10.1145/2508075.2508076","url":null,"abstract":"Memory anomalies, such as memory leaks, floating garbage, and excessive garbage collection pauses, impact application performance considerably. Sadly, these anomalies often remain inexplicable as detecting and locating them is a tedious task for which only little automated tool support exists. We propose to design a Java virtual machine extension that exposes parts of its internal memory state and allows memory monitoring tools to access this state at runtime. Furthermore our goal is to automate the tuning of the Java virtual machine to counteract memory anomalies. Together with domain experts from our industrial partner, Compuware Austria, we plan to validate our approach on real-world applications.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"311 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128882371","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":"Orchestrating mobile application execution for performance and energy efficiency","authors":"Young-Woo Kwon","doi":"10.1145/2508075.2514882","DOIUrl":"https://doi.org/10.1145/2508075.2514882","url":null,"abstract":"This research reduces the energy consumption of mobile applications via cloud offloading, a technique for executing energy-intensive functionality in the cloud. The contributions of this research lie in addressing the inefficiencies of static offloading by exploiting dynamic offloading mechanisms (program transformation and middleware) configured through intuitive and expressive programming constructs.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"2014 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127490504","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}
S. Fraser, D. Mancl, W. Opdyke, J. Bishop, Pradeep Kathail, Junilu Lacar, I. Ozkaya, Alexandra Szynkarski
{"title":"Technical debt: from source to mitigation","authors":"S. Fraser, D. Mancl, W. Opdyke, J. Bishop, Pradeep Kathail, Junilu Lacar, I. Ozkaya, Alexandra Szynkarski","doi":"10.1145/2508075.2516596","DOIUrl":"https://doi.org/10.1145/2508075.2516596","url":null,"abstract":"The term \"Technical Debt\" was coined over 20 years ago by Ward Cunningham in a 1992 OOPSLA experience report. Ward used \"Technical debt\" to describe the trade-offs be-tween delivering the most appropriate - albeit likely immature - product, in the shortest time possible. Since then, the repercussions of 'technical debt' have become more visible, though not necessarily more widely understood. This SPLASH panel will bring together practitioners to discuss and debate \"Technical Debt\".","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129631206","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}