Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
Software reliability: measurement, prediction, application
Software reliability: measurement, prediction, application
Managing the software process
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
Fault-tolerant telecommunication system patterns
Pattern languages of program design 2
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Letters to the editor: go to statement considered harmful
Communications of the ACM
Auditdraw: Generating Audits the FAST Way
RE '97 Proceedings of the 3rd IEEE International Symposium on Requirements Engineering
Interaction-oriented programming
First international workshop, AOSE 2000 on Agent-oriented software engineering
A graphical environment for change detection in structured documents
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Evolution of Telecommunication Software Using OO: Organizational and Technical Issues
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
A metric for software readability
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Specification Mining with Few False Positives
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Automatic program repair with evolutionary computation
Communications of the ACM
The case for software evolution
Proceedings of the FSE/SDP workshop on Future of software engineering research
Selecting discriminating terms for bug assignment: a formal analysis
Proceedings of the 7th International Conference on Predictive Models in Software Engineering
Hi-index | 4.12 |
Software is the key technology in applications as diverse as accounting, hospital management, aviation, and nuclear power. Application advances in different domains--each with different requirements--have propelled software development from small batch programs to large, real-time programs with multimedia capabilities. To cope, software's enabling technologies have undergone tremendous improvement in hardware, communications, operating systems, compilers, databases, programming languages, and user interfaces, among others. Despite these advances, the main issues of software engineering remain relatively stable. Addressing these concerns will not be a simple matter. As an engineering discipline, software engineering techniques must be consistently easy to use and consistently effective in practice to be useful. Software engineering as a whole will eventually mature when any software development group that follows a prescribed process and associated techniques can consistently--and quickly--produce reliable, reusable, and robust software.