{"title":"The challenges of software engineering education","authors":"C. Ghezzi, D. Mandrioli","doi":"10.1145/1062455.1062578","DOIUrl":"https://doi.org/10.1145/1062455.1062578","url":null,"abstract":"We discuss the technical skills that a software engineer should possess. We take the viewpoint of a school of engineering and put the software engineer's education in the wider context of engineering education. We stress both the common aspects that crosscut all engineering fields and the specific issues that pertain to software engineering. We believe that even in a continuously evolving field like software, education should emphasize principles and recognize what are the stable and long-lasting design concepts. Even though the more mundane technological solutions cannot be ignored, the students should be equipped with skills that allow them to dominate the evolution of technology.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125159231","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":"A framework of greedy methods for constructing interaction test suites","authors":"Renée C. Bryce, C. Colbourn, M. B. Cohen","doi":"10.1145/1062455.1062495","DOIUrl":"https://doi.org/10.1145/1062455.1062495","url":null,"abstract":"Greedy algorithms for the construction of software interaction test suites are studied. A framework is developed to evaluate a large class of greedy methods that build suites one test at a time. Within this framework are many instantiations of greedy methods generalizing those in the literature. Greedy algorithms are popular when the time for test suite construction is of paramount concern. We focus on the size of the test suite produced by each instantiation. Experiments are analyzed using statistical techniques to determine the importance of the implementation decisions within the framework. This framework provides a platform for optimizing the accuracy and speed of \"one-test-at-a-time\" greedy methods.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114029507","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":"Software architecture in an open source world","authors":"R. Fielding","doi":"10.1145/1062455.1062474","DOIUrl":"https://doi.org/10.1145/1062455.1062474","url":null,"abstract":"Summary form only given. In spite of the hype and hysteria surrounding open source software development, there is very little that can be said of open source in general. Open source projects range in scope from the miniscule, such as the thousands of non-maintained code dumps left behind at the end of class projects, dissertations, and failed commercial ventures, to the truly international, with thousands of developers collaborating, directly or indirectly, on a common platform. One characteristic that is shared by the largest and most successful open source projects, however, is a software architecture designed to promote anarchic collaboration through extensions while at the same time preserving centralized control over the interfaces. This paper features a survey of the state-of-the-practice in open source development in regards to software architecture, with particular emphasis on the modular extensibility interfaces within several of the most successful projects, including Apache httpd, Eclipse, Mozilla Firefox, Linux kernel, and the World Wide Web (which few people recognize as an open source project in itself). These projects fall under the general category of collaborative open source software development, which emphasizes community aspects of software engineering in order to compensate for the often-volunteer nature of core developers and take advantage of the scalability obtainable through Internet-based virtual organizations.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133871722","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":"Emergent process design","authors":"Olga Jaufman","doi":"10.1145/1062455.1062587","DOIUrl":"https://doi.org/10.1145/1062455.1062587","url":null,"abstract":"The typical situation in software developing organizations can be characterized by two extremes: in some organizations or organizational units, software development processes are partly defined, whereas in organizations or organizational units where the processses are well defined, these processes are usually only valid at the project start. For design of a process that is able to fulfil the requirements, the author proposes an emergent process design (EPD) approach. The EPD approach guides the extraction and the adaptation of a project-specific process. This is done as follows. Initially, the project-specific process frame is extracted by tailoring one of the process variants provided in a process line. The first development is based on the tailored process frame. For further development iterations or projects that are to utilize this frame, the frame is adapted and refined to the project-specific process based on the logs of the performed tasks in the previous process iteration. In order to insure the desired quality of the final product, the project-specific process becomes more stringent over the course of the project.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130389930","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":"On the education of future software engineers","authors":"A. Bolognesi, P. Ciancarini, Rocco Moretti","doi":"10.1145/1062455.1062584","DOIUrl":"https://doi.org/10.1145/1062455.1062584","url":null,"abstract":"The education of software engineers more and more addresses organizational and management issues, like for instance modeling the business structure and environment which receives a new software system. The teaching to software engineering students of modeling technologies based on standards like UML and the rational unified process, stressing the focus on designing business-oriented management of software services, raises novel questions than need to be addressed.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132077080","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}
Robert Chatley, Sebastián Uchitel, J. Kramer, J. Magee
{"title":"Fluent-based Web animation: exploring goals for requirements validation","authors":"Robert Chatley, Sebastián Uchitel, J. Kramer, J. Magee","doi":"10.1145/1062455.1062603","DOIUrl":"https://doi.org/10.1145/1062455.1062603","url":null,"abstract":"We present a tool that provides effective graphical animations as a means of validating both goals and software designs. Goals are objectives that a system is expected to meet. They are decomposed until they can be represented as fluents. Animations are specified in terms of fluents and driven by behaviour models.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131867584","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":"Workshop on advances in model-based software testing","authors":"S. Dalal, Ashish Jain, J. Poore","doi":"10.1109/ICSE.2005.1553651","DOIUrl":"https://doi.org/10.1109/ICSE.2005.1553651","url":null,"abstract":"The paper summarizes the themes and goals of the Workshop on Advances in Model-Based Software Testing.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132758487","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}
W. Chin, Siau-Cheng Khoo, S. Qin, C. Popeea, Huu Hai Nguyen
{"title":"Verifying safety policies with size properties and alias controls","authors":"W. Chin, Siau-Cheng Khoo, S. Qin, C. Popeea, Huu Hai Nguyen","doi":"10.1145/1062455.1062500","DOIUrl":"https://doi.org/10.1145/1062455.1062500","url":null,"abstract":"Many software properties can be analysed through a relational size analysis on each function's inputs and outputs. Such relational analysis (through a form of dependent typing) has been successfully applied to declarative programs, and to restricted imperative programs; but it has been elusive for object-based programs. The main challenge is that objects may mutate and they may be aliased. In this paper, we show how safety policies of programs can be analysed by tracking size properties of objects and be enforced by objects' invariants and the preconditions of methods. We propose several new ideas to allow both mutability and sharing of objects, whilst aiming for precision in our analysis. We introduce the concept of size-immutability to facilitate sharing, and also a set of alias controls to track unaliased objects whose size properties may change. We formalise our results through a set of advanced type checking rules for an object-based imperative language. We re-affirm the utility of the proposed type system by showing how a variety of software properties can be automatically verified according to size-inspired safety policies.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117307670","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":"SQL DOM: compile time checking of dynamic SQL statements","authors":"Russell A. McClure, Ingolf Krüger","doi":"10.1145/1062455.1062487","DOIUrl":"https://doi.org/10.1145/1062455.1062487","url":null,"abstract":"Most object oriented applications that involve persistent data interact with a relational database. The most common interaction mechanism is a call level interface (CLI) such as ODBC or JDBC. While there are many advantages to using a CLI - expressive power and performance being two of the most key - there are also drawbacks. Applications communicate through a CLI by constructing strings that contain SQL statements. These SQL statements are only checked for correctness at runtime, tend to be fragile and are vulnerable to SQL injection attacks. To solve these and other problems, we present the SQL DOM: a set of classes that are strongly-typed to a database schema. Instead of string manipulation, these classes are used to generate SQL statements. We show how to extract the SQL DOM automatically from an existing database schema, demonstrate its applicability to solve the mentioned problems, and evaluate its performance.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114071150","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 support for process-aware definition and execution of measurement plans","authors":"L. Lavazza, Giancarlo Barresi","doi":"10.1145/1062455.1062507","DOIUrl":"https://doi.org/10.1145/1062455.1062507","url":null,"abstract":"Some of the problems with process measurement are generally due to the fact that the definition of measurement plans does not rely on a reference model of the development process that can drive and explain the measuring activities. One of the most popular methodologies addressing the definition of process measurement plans is the GQM (goal/question/metrics). This paper discusses how to support the creation of GQM plans by means of an explicit model of the process being measured. Such a model guides the GQM process, and makes it possible to define precisely - if not formally - the metrics involved. A tool supporting the proposed method is also illustrated.","PeriodicalId":217879,"journal":{"name":"Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121363346","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}